2016-04-21 2 views
1

Я фильтровать этот массив:Ионные/Угловая Multiple фильтр в массиве ребенка

Ricette: [{ 
    "id":"1", 
    "title":"Pasta al pomodoro", 
    "ings":{"id":["1","2","3"]} 
}, { 
    "id":"2", 
    "title":"Spaghetti alla carbonara", 
    "ings":{"id":["1","2","4","5","6"]} 
}] 

И мне нужно фильтровать по ings, выбранным из флажков

ings список:

[{"id":"1","nome":"Olio"}, 
{"id":"2","nome":"Pasta"}, 
{"id":"3","nome":"Passata di pomodoro"}, 
{"id":"4","nome":"Parmigiano"}, 
{"id":"5","nome":"Uova"}, 
{"id":"6","nome":"Pancetta"}] 

Шаблон:

<div ng-repeat="ing in ingredienti"> 
     <b><input type="checkbox">{{ing.nome}}</b> 
    </div> 
    <ion-list> 
     <ion-item ng-repeat="ricetta in ricette" href="#/app/ricette/{{ricetta.id}}"> 
     {{ricetta.title}} 
     </ion-item> 
    </ion-list> 

Как я могу фильтровать список «ricette» по выбранным флажкам?

ответ

0

Вам нужно отслеживать, какие флажки на самом деле проверены. Я бы с «нг-модели», как так:

<div ng-repeat="ing in ingredienti"> 
     <b><input type="checkbox" ng-model="ing.checked">{{ing.nome}}</b> 
    </div> 
    <ion-list> 
     <ion-item ng-repeat="ricetta in ricette" href="#/app/ricette/{{ricetta.id}}"> 
     {{ricetta.title}} 
     </ion-item> 
    </ion-list> 

Тогда ваш фильтр будет что-то вроде: ingredienti | filter:{checked:true}