我想创建动态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,否则该对象将通过引用连接,并且效果相同

希望有道理

09-07 15:42