私はこの素晴らしい投稿に従っています:いくつかのリンクを使用して 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 を表示する) ?
ありがとう