我想创建动态ng-reapet并在click事件上推送数组元素:
我的控制器代码是
$scope.AddlistItem = function (index) {
$scope.selecttaglist($scope.tag);
};
$scope.selecttaglist = function (tag) {
//var i=$scope.selectedTags.length;
angular.forEach($scope.selectedTags,function(tag,index){
console.log(tag.name);
$scope.selectedTagslist.push(tag);
})
并查看代码:
<ul id="boxElement" ><li ng-repeat="tag in selectedTagslist" ng-controller="ItemController" ng-bind="tag.name" ></li></ul>
HTML代码
<div class="AddButtn" id="aDD{{item.name}}" ng-controller="ItemController" ng-click="AddlistItem()" ></div>
问题是,当我单击链接时。数组元素正在所有ng-reapet元素上推送。我希望数组仅在单击的元素容器上推送。我不确定我的做法是写还是做错了。我是angularjs的新手。任何人都可以提供帮助。
最佳答案
如果ng-repeat
的模型相同,则您需要使用不同的方法,因为模型会驱动视图,即您将需要多个
<ul id="boxElement" ><li ng-repeat="tag in selectedTagslist" ng-controller="ItemController" ng-bind="tag.name" ></li></ul>
<ul id="boxElement" ><li ng-repeat="tag in selectedTagslist2" ng-controller="ItemController" ng-bind="tag.name" ></li></ul>
与第一个元素的副本-
angular.copy
,否则该对象将通过引用连接,并且效果相同希望有道理