我有一个执行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)
有人可以帮我弄这个吗?
我有一个角度的foreach循环,如果我匹配一个值,我想从循环中断.以下代码不起作用.
angular.forEach([0,1,2], function(count){
if(count == 1){
break;
}
});
Run Code Online (Sandbox Code Playgroud)
我怎么能得到这个?
我有以下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我的控制台.有人可以帮我理解我在做错了吗?
我有以下代码重复并显示用户的名称和他的分数:
<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) 我正在使用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函数调用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函数?
我有如下定义的用户对象.
$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)
每当我搜索时,我都会得到姓名,年龄和性别的结果.但我想只搜索姓名和年龄,我不希望性别可以搜索.任何人都可以帮我解决这个问题吗?
我有以下行动
在我的视图中点击- >其中inturn调用显示jQuery Qtip 的jQuery ajax函数- >在Qtip弹出窗口中,我有一个元素的ng-click - >执行$ http帖子并有一些回调来更新$ scope价值观.
所有这些事情都发生得恰到好处.但是根据最后阶段回调中的更改,更新不会反映在视图中.
我的视图中有"ng-mousemove"功能.因此,每当我移动鼠标时,视图中的更新都会被反映出来.
我在这做错了什么?是因为角度和非角度之间的过渡?任何人都可以帮我解决这个问题吗?
我们可以使用脚本标记内的范围中定义的角度变量,如下所示.
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'.有人可以帮我解决我在这里做错了什么吗?
我有以下代码
<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小提琴
我有如下定义的用户对象.
$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'时,我希望过滤器显示用户的名称和朋友的姓名/年龄.任何人都可以帮我解决这个问题吗?
如果我是正确的,那么我认为我需要为此创建自定义过滤器,还是有其他方法可以实现此目的?
我想选择具有特定值的选项。元素的值中包含撇号。在这种情况下,它没有正确选择元素。
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/
在这里,当我选择一个带有撇号的选项时,它不会发出警报。
我有以下代码与自定义指令'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-click和ng-class绑定.任何人都可以帮我解决我在这里做错了什么吗?
这是JS小提琴. http://jsfiddle.net/JSWorld/4Yrth/5/