Angularjs 带有多个复选框的角度过滤器
我正在尝试实现多个基于复选框的过滤器,并想知道是否有更好的方法来实现(这不会让John Papa感到不安) 如果我正在使用苏打水,并且我想以品牌为起点进行过滤,我有以下设置:Angularjs 带有多个复选框的角度过滤器,angularjs,Angularjs,我正在尝试实现多个基于复选框的过滤器,并想知道是否有更好的方法来实现(这不会让John Papa感到不安) 如果我正在使用苏打水,并且我想以品牌为起点进行过滤,我有以下设置: <input type="checkbox" ng-model="vm.brands.Pepsi"> Pepsi <input type="checkbox" ng-model="vm.brands.Coke"> Coke <ul> <li ng-repeat=
<input type="checkbox" ng-model="vm.brands.Pepsi"> Pepsi
<input type="checkbox" ng-model="vm.brands.Coke"> Coke
<ul>
<li ng-repeat="soda in vm.sodas | filter:vm.brandFilter">
{{soda.name}}
</li>
</ul>
虽然这样做有效,但考虑到我将添加多个“组”复选框(如果是苏打,可能更多的对象属性将是颜色、味道等),我希望有一个更好/更可行的生产解决方案来保持干燥。检查此答案:检查此答案:
function brandFilter(soda) {
if (!vm.brands) {
return soda;
}
var brand = soda.brand;
if (vm.brands[brand] === true) {
return soda;
} else {
return false;
}
}