切换所有ng-repeat

时间:2014-10-29 16:04:43

标签: javascript angularjs

我有一个可以选择的项目列表:

<div ng-repeat="item in items" ng-init="selected = false" ng-click="selected = !selected">
    ...
</div>

我想要一个简单的复选框,它会选择列表中的所有项目。什么是最好的Angular方法来实现这个目标?

1 个答案:

答案 0 :(得分:1)

您可以在控制器中创建一个函数,以循环遍历item数组中的每个items,并将其selected属性设置为true。这是函数的一个示例:

$scope.selectAll = function(selected) {
    angular.forEach($scope.items, function(item) {
        item.selected = selected;
    });
}

我让函数接受了一个参数,所以你可以重新使用它来取消选择所有。

接下来,您可以创建一个调用此函数的按钮,并将true作为参数传递。

<button type="button" ng-click="selectAll(true)">Select All</button>

这是一个非常基本的小说:http://jsfiddle.net/x906p4qx/

希望它有所帮助!