在AngularJS中,可以通过以下方式实现从ng-repeat对象数组中检查/取消所有复选框的功能:
HTML代码示例:
JavaScript代码示例:
angular.module('myApp', [])
.controller('myCtrl', function($scope) {
$scope.items = [
{ name: 'Item 1', selected: false },
{ name: 'Item 2', selected: false },
{ name: 'Item 3', selected: false }
];
$scope.toggleAll = function() {
var selectedItems = $scope.items.filter(function(item) {
return item.selected;
});
$scope.selectAll = (selectedItems.length === $scope.items.length);
};
$scope.checkAll = function() {
angular.forEach($scope.items, function(item) {
item.selected = true;
});
};
$scope.uncheckAll = function() {
angular.forEach($scope.items, function(item) {
item.selected = false;
});
};
});
上述代码中,我们在HTML中使用ng-repeat指令来遍历items数组,并为每个复选框绑定了一个ng-model指令来实现双向数据绑定。当复选框的选中状态发生变化时,会触发ng-change指令中的toggleAll函数。toggleAll函数通过过滤items数组中selected为true的项,当所有项都被选中时,将selectAll变量设置为true,反之设置为false。
checkAll函数通过使用AngularJS的forEach方法,将items数组中的每个项的selected属性设置为true,从而实现全选的功能。
uncheckAll函数通过使用AngularJS的forEach方法,将items数组中的每个项的selected属性设置为false,从而实现取消全选的功能。
通过以上代码,我们可以在ng-repeat对象数组中实现检查/取消所有复选框的功能。