Angularjs filtrage dynamique

Disons que j'ai de modèle:

$scope.items = [{'name: 'test',value:'some value',category:'test'},{name:'value',value:'test',category:'test'}];

Qui est répété:

<div ng-repeat="item in items|filter:search">
{{item.name}} – {{item.value}}
</div>

Et ont une zone de saisie avec filtre modèle:

<input type="text" ng-model="search.$" />

Quand je tape "test", il montre les deux enregistrements. Cependant, j'ai besoin de sélectionner de façon dynamique les propriétés de l'objet initial qui sera utilisé pour la recherche.

Donc, j'ai trois cases (en projet réel, j'ai plus d'options pour combiner):

<input type="checkbox" ng-model="search.name" />
<input type="checkbox" ng-model="search.value" />
<input type="checkbox" ng-model="search.category" />

Et dans mon controller:

$scope.search = {name: true, value: true,category: true};

Ce qui ne présentent pas tous les éléments en tout. Mais j'ai besoin de filtrer les éléments par différents champs de changer les propriétés de recherche à la volée (et en les combinant dans les différentes variantes)

Comment est-ce possible?

InformationsquelleAutor Sray | 2014-10-16