我正在关注这篇很棒的帖子:如何使用多个链接在 AngularJS 中过滤列表
现在我想在点击时显示由多个参数过滤的数据。
html
<div ng-app>
<span ng-click="myFilter = {type: 1}">Type 1</span> |
<span ng-click="myFilter = {type: 2}">Type 2</span> |
<span ng-click="myFilter = {type: 3}">Type 3</span> |
<!-- multiple filter - not working -->
<span ng-click="myFilter = [{type: 1}, {type:3}]">Types 1 & 3</span> |
<span ng-click="myFilter = null">No filter</span>
<ul ng-controller="Test">
<li ng-repeat="person in persons | filter:myFilter">{{person.name}}</li>
</ul>
</div>
js
function Test($scope) {
$scope.persons = [{type: 1, name: 'Caio'}, {type:2, name: 'Ary'}, {type:1, name: 'Camila'}, , {type:3, name: 'Daniel'}];
}
多参数过滤器示例不能那样工作。有没有一种简单通用的方法来实现这一点,而无需编写自定义过滤器?
我更新了 jsfiddle:http: //jsfiddle.net/pkxPa/89/
任何想法 ?也许有更好的方法,比如使用 ng-show (比如在这篇文章中:在 ng-repeat 内的 ng-click 上显示隐藏的 div)?
谢谢