如何在页面onclick中添加动态ng-repeat

时间:2014-07-10 11:19:15

标签: javascript jquery angularjs angularjs-ng-repeat

我想创建动态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的新手。任何人都可以提供帮助。

1 个答案:

答案 0 :(得分:1)

如果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否则该对象将通过引用连接,效果将相同

希望有意义