我有一个带有x记录的表,从表中我想要将项目添加到数组中(或者如果取消选中行则删除)但我不知道如何执行函数,如果复选框是否为真......但这不起作用
<tr ng-repeat="item in vm.orders" ng-click="vm.getRow(item)">
<td>{{item.Name}}</td>
<td>{{item.state}}</td>
<td><input type="checkbox"
ng-true-value="vm.addToArray(item)"
ng-false-value="vm.removeFromArray(item)"
/></td>
</tr>
控制器:
function addToArray(model) {
vm.selectedItems.push(model);
}
function removeFromArray(model) {
//my logic remove
}
并按如下方式更改ng-repeat,
<td><input type="checkbox" ng-model="checked"
ng-change="addorRemove(checked, item)""
/></td>
使用array.splice
function addorRemove(checked,model) {
if(checked ==false){
vm.selectedItems.splice(model, 1);
}
else
{
vm.selectedItems.push(model);
}
}
根据我的理解,你无法调用addToArray
和addToArray
。要实现这一目标,您可以使用ng-change
,如下所示:
<input type="checkbox" ng-model="item.myChkModel" ng-change="vm.myClick(item)">
$scope.vm.myClick = function($event) {
//write logic to add or remove item based on model value
}
希望能帮助到你。