嵌套在ng-repeat中的拼接数组,
Splicing array nested within ng-repeat,
数组结构如下
$scope.structure = {
sections: [{
id:0,
sectionItems: []
},{
id:1,
sectionItems: []
},{
id:2,
sectionItems: []
}]
};
我有一个嵌套的 ng-repeat,所以我可以在 sectionItems[] 中显示项目
(里面应该是对象,其中一个键是名称 - 不相关)
<div ng-repeat="sections in structure.sections" class="col-md-12">
<div class="panel panel-info">
<ul class="screenW-section">
<li class="col-xs-6" ng-repeat="item in sections.sectionItems"
ng-click="item.splice($index, 1)">
{{item.Name}}
</li>
</ul>
</div> </div>
我希望能够在点击时删除项目,但是
ng-click="item.splice($index, 1)
怎么格式化都不行。
要删除一个项目,您需要将其从数组中删除。
所以,例如,你可以做
ng-click="remove(sections.sectionItems, $index)"
在视图中,并且
$scope.remove = function(array, index) {
array.splice(index, 1);
}
在控制器中...
您是在项目而不是数组上调用 splice
ng-click="sections.sectionItems.splice($index, 1)"
试试这个:
var app = angular.module("testApp", []);
app.controller('testCtrl', function($scope){
$scope.structure = {
sections: [{
id:0,
sectionItems: ['1','2','3']
},{
id:1,
sectionItems: ['11','21','32']
},{
id:2,
sectionItems: ['12','22','32']
}]
};
$scope.remove = function(sectionItems,index){
sectionItems.splice(index, 1);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="testApp" ng-controller="testCtrl">
<div ng-repeat="sections in structure.sections" class="col-md-12">
<div class="panel panel-info">
<ul class="screenW-section">
<li class="col-xs-6" ng-repeat="item in sections.sectionItems"
ng-click="remove(sections.sectionItems,$index)">
{{item}}
</li>
</ul>
</div> </div>
</div>
数组结构如下
$scope.structure = {
sections: [{
id:0,
sectionItems: []
},{
id:1,
sectionItems: []
},{
id:2,
sectionItems: []
}]
};
我有一个嵌套的 ng-repeat,所以我可以在 sectionItems[] 中显示项目 (里面应该是对象,其中一个键是名称 - 不相关)
<div ng-repeat="sections in structure.sections" class="col-md-12">
<div class="panel panel-info">
<ul class="screenW-section">
<li class="col-xs-6" ng-repeat="item in sections.sectionItems"
ng-click="item.splice($index, 1)">
{{item.Name}}
</li>
</ul>
</div> </div>
我希望能够在点击时删除项目,但是 ng-click="item.splice($index, 1) 怎么格式化都不行。
要删除一个项目,您需要将其从数组中删除。
所以,例如,你可以做
ng-click="remove(sections.sectionItems, $index)"
在视图中,并且
$scope.remove = function(array, index) {
array.splice(index, 1);
}
在控制器中...
您是在项目而不是数组上调用 splice
ng-click="sections.sectionItems.splice($index, 1)"
试试这个:
var app = angular.module("testApp", []);
app.controller('testCtrl', function($scope){
$scope.structure = {
sections: [{
id:0,
sectionItems: ['1','2','3']
},{
id:1,
sectionItems: ['11','21','32']
},{
id:2,
sectionItems: ['12','22','32']
}]
};
$scope.remove = function(sectionItems,index){
sectionItems.splice(index, 1);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="testApp" ng-controller="testCtrl">
<div ng-repeat="sections in structure.sections" class="col-md-12">
<div class="panel panel-info">
<ul class="screenW-section">
<li class="col-xs-6" ng-repeat="item in sections.sectionItems"
ng-click="remove(sections.sectionItems,$index)">
{{item}}
</li>
</ul>
</div> </div>
</div>