小编Sab*_*kar的帖子

AngularJS将数据传递给$ http.get请求

我有一个执行http POST请求的函数.代码如下所示.这很好用.

 $http({
   url: user.update_path, 
   method: "POST",
   data: {user_id: user.id, draft: true}
 });
Run Code Online (Sandbox Code Playgroud)

我有另一个http GET函数,我想发送数据到该请求.但我没有这个选择.

 $http({
   url: user.details_path, 
   method: "GET",
   data: {user_id: user.id}
 });
Run Code Online (Sandbox Code Playgroud)

的语法http.get

get(url,config)

有人可以帮我弄这个吗?

javascript javascript-framework angularjs

572
推荐指数
4
解决办法
66万
查看次数

Angular JS打破了ForEach

我有一个角度的foreach循环,如果我匹配一个值,我想从循环中断.以下代码不起作用.

angular.forEach([0,1,2], function(count){
  if(count == 1){
    break;
  }
});
Run Code Online (Sandbox Code Playgroud)

我怎么能得到这个?

javascript-framework angularjs

249
推荐指数
8
解决办法
30万
查看次数

AngularJs ReferenceError:$ http未定义

我有以下Angular函数:

$scope.updateStatus = function(user) {    
    $http({
        url: user.update_path, 
        method: "POST",
        data: {user_id: user.id, draft: true}
    });
};
Run Code Online (Sandbox Code Playgroud)

但无论什么时候调用这个函数,我都会进入ReferenceError: $http is not defined我的控制台.有人可以帮我理解我在做错了吗?

javascript-framework angularjs angular-http

197
推荐指数
2
解决办法
15万
查看次数

错误:达到$ $ digest()迭代.中止!使用动态排序谓词

我有以下代码重复并显示用户的名称和他的分数:

<div ng-controller="AngularCtrl" ng-app>
  <div ng-repeat="user in users | orderBy:predicate:reverse | limitTo:10">
    <div ng-init="user.score=user.id+1">
        {{user.name}} and {{user.score}}
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

和相应的角度控制器.

function AngularCtrl($scope) {
    $scope.predicate = 'score';
    $scope.reverse = true;
    $scope.users = [{id: 1, name: 'John'}, {id: 2, name: 'Ken'}, {id: 3, name: 'smith'}, {id: 4, name: 'kevin'}, {id: 5, name: 'bob'}, {id: 6, name: 'Dev'}, {id: 7, name: 'Joe'}, {id: 8, name: 'kevin'}, {id: 9, name: 'John'}, {id: 10, name: 'Ken'}, {id: 11, name: 'John'}, {id: 1, name: 'John'}, …
Run Code Online (Sandbox Code Playgroud)

javascript-framework angularjs

133
推荐指数
4
解决办法
16万
查看次数

Angular JS在POST请求中验证CSRF令牌

我正在使用AngularJS和Rails.我有以下请求批量更新用户.

 $http{
    method: 'POST',
    url: $scope.update_url,
    params: {selected_ids: userIds}
 }
Run Code Online (Sandbox Code Playgroud)

由于URL的长度限制,这不能是'GET'请求(http://support.microsoft.com/kb/208427)

但对于'POST'请求,我们需要在标头中有一个CSRF真实性标记.

如何将CSRF令牌设置为post请求标头?

javascript-framework angularjs

29
推荐指数
1
解决办法
5万
查看次数

在文档就绪时调用Angular函数

有没有办法从JavaScript函数调用Angular函数?

function AngularCtrl($scope) {
  $scope.setUserName = function(student){  
    $scope.user_name = 'John';
  }
}
Run Code Online (Sandbox Code Playgroud)

我的HTML中需要以下功能:

jQuery(document).ready(function(){
  AngularCtrl.setUserName();
}
Run Code Online (Sandbox Code Playgroud)

这里的问题是我的HTML代码在加载页面时存在,因此html中的ng指令不会被编译.所以我想$compile(jQuery("PopupID"));在加载DOM时.

有没有办法在文档准备好的情况下调用Angular函数?

javascript angularjs

28
推荐指数
1
解决办法
7万
查看次数

AngularJS仅过滤某些对象

我有如下定义的用户对象.

$scope.user = [{id: 1, friends:
    [
        {name: 'John', age: 21, sex: 'M'},
        {name: 'Brad', age: 32, sex: 'M'}
    ]
}]
Run Code Online (Sandbox Code Playgroud)

我有以下代码:

<input type="text" ng-model="searchText">
<div ng-repeat="friend in user.friends | filter:searchText">
  {{friend.name}} {{friend.age}}
</div>
Run Code Online (Sandbox Code Playgroud)

每当我搜索时,我都会得到姓名,年龄和性别的结果.但我想只搜索姓名和年龄,我不希望性别可以搜索.任何人都可以帮我解决这个问题吗?

javascript-framework angularjs

17
推荐指数
2
解决办法
2万
查看次数

Angular JS视图未正确更新

我有以下行动

在我的视图中点击- >其中inturn调用显示jQuery Qtip 的jQuery ajax函数- >在Qtip弹出窗口中,我有一个元素的ng-click - >执行$ http帖子并有一些回调来更新$ scope价值观.

所有这些事情都发生得恰到好处.但是根据最后阶段回调中的更改,更新不会反映在视图中.

我的视图中有"ng-mousemove"功能.因此,每当我移动鼠标时,视图中的更新都会被反映出来.

我在这做错了什么?是因为角度和非角度之间的过渡?任何人都可以帮我解决这个问题吗?

javascript-framework angularjs

17
推荐指数
1
解决办法
2万
查看次数

内部角色的角度范围

我们可以使用脚本标记内的范围中定义的角度变量,如下所示.

HTML代码:

<div ng-controller="AngularCtrl">
 <script>
  alert($scope.user_name);
 </script>
</div>
Run Code Online (Sandbox Code Playgroud)

JS代码:

function AngularCtrl($scope){
 $scope.user_name = 'John';
}
Run Code Online (Sandbox Code Playgroud)

我只是得到'$ scope not defined'.有人可以帮我解决我在这里做错了什么吗?

javascript javascript-framework angularjs

10
推荐指数
1
解决办法
1万
查看次数

Angular JS ng-repeat消耗更多的浏览器内存

我有以下代码

<table>
 <thead><td>Id</td><td>Name</td><td>Ratings</td></thead>
 <tbody>
   <tr ng-repeat="user in users">
    <td>{{user.id}}</td>
    <td>{{user.name}}</td>
    <td><div ng-repeat="item in items">{{item.rating}}</div></td>
   </tr>
 </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

users是一个只有id和name的用户对象数组.数组中的用户对象数 - 150

items是一个只有id和rating的项目对象数组.数组中的项目对象数 - 150

当我在浏览器中渲染它时,当我尝试在我的chrome中进行分析时,它需要大约250MB的堆内存 - v23.0.1271.95.

我正在使用AngularJS v1.0.3.

有角度的问题还是我在这里做错了什么?

这是JS小提琴

http://jsfiddle.net/JSWorld/WqSGR/5/

javascript-framework angularjs

8
推荐指数
1
解决办法
4036
查看次数

如何使用AngularJS对多个对象应用过滤器?

我有如下定义的用户对象.

$scope.users = [{id: 1, name: 'Adam', friends: [{name: 'John', age: 21, sex: 'M'}, {name: 'Brad', age: 32, sex: 'M'}]}]
Run Code Online (Sandbox Code Playgroud)

然后我有以下代码:

<div ng-repeat="user in users>
 <input type="text" ng-model="searchText">
 <div ng-repeat="friend in user.friends | filter:searchText">
  {{user.name}} {{friend.name}} {{friend.age}}
 </div>
</div>
Run Code Online (Sandbox Code Playgroud)

现在,当我在文本框中键入文本:'searchText'时,我希望过滤器显示用户的名称和朋友的姓名/年龄.任何人都可以帮我解决这个问题吗?

如果我是正确的,那么我认为我需要为此创建自定义过滤器,还是有其他方法可以实现此目的?

javascript javascript-framework angularjs

7
推荐指数
1
解决办法
2万
查看次数

jQuery 在选项值中转义撇号

我想选择具有特定值的选项。元素的值中包含撇号。在这种情况下,它没有正确选择元素。

var selectedValue= "Test'1";
jQuery("option[value='" + selectedValue + "']"); // does not find option with value as "Test'1"
Run Code Online (Sandbox Code Playgroud)

示例小提琴:http : //jsfiddle.net/JSWorld/26JTy/4/

在这里,当我选择一个带有撇号的选项时,它不会发出警报。

jquery

3
推荐指数
1
解决办法
3770
查看次数

在自定义指令中绑定ng指令

我有以下代码与自定义指令'my-repeater':

<div ng-controller="AngularCtrl">
  <div my-repeater='{{items}}'>Click here</div>
</div>?
Run Code Online (Sandbox Code Playgroud)

这是我的自定义指令:

myApp.directive('myRepeater', function($compile) {
  return {
    restrict: 'A',
    link: function(scope, element, attrs) {
        var myTemplate = "<div ng-click='updateRating({{item}});' ng-class='getRatingClass({{rating}});'>{{rating}}</div>";
            var items = scope.items;
            console.log('length: ' + items.length);
            for (var i = 0; i < items.length; i++) {
                var child = scope.$new(true);
                console.log(items[i].ratings);
                child.item = items[i];
                child.rating = items[i].ratings;                    
                var text = $compile(myTemplate)(child);
                element.append(text);
            }
   }
};
Run Code Online (Sandbox Code Playgroud)

});

在我的自定义指令中没有正确地发生ng-clickng-class绑定.任何人都可以帮我解决我在这里做错了什么吗?

这是JS小提琴. http://jsfiddle.net/JSWorld/4Yrth/5/

javascript-framework angularjs

0
推荐指数
1
解决办法
2913
查看次数