jsfiddle 在这里:http://jsfiddle.net/jesperlehtinen/dx05bobb/2/
我有一个对象列表,我想在页面加载时对其进行过滤。基本上我有一个这样的复选框:
<input type="checkbox" class="form__checkbox" ng-model="filter['processed']">
和项目列表:
<tr data-ng-repeat="card in cards.data | filter:filterByStatus">
要过滤的js在controller中:
$scope.cards = $scope.$parent.cards;
$scope.filter = {};
$scope.filterByStatus = function(card) {
return $scope.filter[card.status] || noFilter($scope.filter);
};
function noFilter(filterObj){
for(var key in filterObj){
if(filterObj[key]){
return false;
}
}
return true;
}
现在这在某种程度上起作用了。当我加载页面时,复选框未选中, checkin 执行过滤。但是,我希望在加载时选中复选框,并进行过滤。使用 ng-checked="true"
使它被检查,但它不执行实际的过滤。我如何使用一个值(或函数)初始化复选框,使其在页面加载时被选中并执行过滤?
最佳答案
我意识到这就像将默认过滤器值设置为 true 来初始化过滤器一样简单。所以 $scope.filter = {};
变成了 $scope.filter = {'Active':true};
。
关于javascript - AngularJS 复选框过滤不过滤页面加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36643361/