我在angularjs中有一个列表
$scope.URLList = [
{url:'http://www.facebook.com', title : 'facebook'},{url:'http://www.twitter.com', title : 'twitter'}];
在我的HTML中:
p(ng-repeat='url in URLList')
a(href="{{url.url}}")
span {{url.title}} {{url.number}}
号码尚未定义。我需要这样做来计算它:
我想要一个方法:
$scope.URLList[where item.url=link].number = function(){
item.number=1;
});
}
并在
之后调用它 $scope.URLList.push({url:'http://test.com,title:'test'});
提前谢谢。
答案 0 :(得分:1)
我无法得到你需要的东西但是在ng-repeat中对元素执行一个函数你可以做这样的事情
myController = function($scope) {
$scope.items = [{
text: "a",
num: 1
}, {
text: "b",
num: 2
}, {
text: "c",
num: 3
}];
$scope.addOne = function(item) {
item.num += 1;
}
$scope.items.push({text: "z",num:4});
};
myController.$inject = ["$scope"];
angular.module("myApp", [])
.controller("myController", myController);

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myController">
<div ng-repeat="item in items" ng-init="addOne(item)">{{item.text}} :: {{item.num}}</div>
</div>
&#13;
如您所见,您可以将对象传递给函数并处理它,
但是如果你想迭代对象列表,你总是可以使用
angular.forEach(items,function(item){item + = 1;});