If в директиве ng-repeat на Angular.js

Я пытаюсь реализовать if в директиве ng-repeat, но мне тяжело. мой код, который работает сейчас:

<p ng-repeat="list in lists">{{list[id].title}}</p>

Что я хочу сделать, это в основном

<p ng-repeat="list in lists if list[id].selected">{{list[id].title}}</p>

Конечно, во второй строке я получаю сообщение об ошибке. Любые советы по этому поводу?

Спасибо.

Ответы

Ответ 1

Как я написал в комментарии, вы можете использовать фильтры для достижения этого. Вот пример: http://jsfiddle.net/sebmade/ZfGx4/44/

ng-repeat="list in lists | filter:myFilter"


И код фильтра:

$scope.myFilter = function(item) {
    return item.selected == true;
};


Изменить:
Я обнаружил, что это можно сделать с помощью встроенного фильтра следующим образом:

ng-repeat="list in lists | filter:{selected: true}"

Ответ 2

Что вам нужно добавить здесь, это фильтр:

<p ng-repeat="list in lists | filter:{selected:true}">test {{list.title}}</p>

Я добавил пример plnkr.