Как указать выводимые значения в ng-repeat?

Рейтинг: 0Ответов: 1Опубликовано: 17.11.2014

Есть такой кусок кода

<p ng-repeat="item in selectedItems">
{{item.id}} </p>

Но тут жестко вшито выводимое значение (item.id). Хотелось бы указывать, какие именно значения должны выводится, но не в html, а в директиве (контроллере, сервисе), чтобы было гибко.

Как это можно сделать?

Ответы

▲ 2Принят

Если у вас данные грузятся из базы, можно логику выбора нужных элементов делать ещё на уровне запроса к базе через WHERE. Либо можно в директиве (контроллере) сделать логику для коллекции и оставлять в ней только нужные элементы. А вообще в ангуляре не зазорно и в html сделать 'ng-if' и это будет гибко. Ещё есть фильтр для массива, может быть этот вариант подойдёт под вашу логику: http://angular.ru/api/ng.filter:filter

Обновление

Добавлю немного понимания: если вам не нужна вся коллекция на странице, то наиболее оптимально будет делать выборку на бэкенде, например, при запросе к базе. А если остальные значения item.id вам тоже нужны без перезагрузки страницы, то нужно делать логику уже в ангуляре.