2014-02-10 5 views
1

У меня есть поле выбора, как это в основном он проходит через массив отделов, чтобы увидеть, какие предметы жизнеспособного родителя отделAngularJS - ngOptions условного

<select class="editSelectBox" ng-model="dept.parentDepartment" 
ng-options="dept as dept.name for dept in depts track by dept.id" 
ng-change="dept.parentDepartment" ng-click="$event.stopPropagation()"> 
    <option value="">None</option> 
</select> 

Но отдел не может иметь родитель, что это сам , В любом случае, чтобы не отображать параметр, который позволяет ему устанавливать себя как родитель? Поскольку он проходит через массив всех отделов, опция будет там, если не задано условие.

ответ

0

Вы хотите разместить фильтр в своем ng-options. Этот фильтр должен взять ваш массив отделов и удалить отдел, который вам не нужен. Поэтому Вам необходим пройти этот отдел, или по крайней мере, его индексу, к вашей функции фильтра

ng-options=".. as ... for .. in depts | filterFunction:dept" 

См Use filter on ng-options to change the value displayed

+0

Я не могу передать в отдел, передавая его в фильтр. Функция всегда ссылается на себя ... – kotsumu

+0

Вы хотите отфильтровать СПИСОК отделов и передать ОДИН отдел в качестве аргумента в фильтр. – NicolasMoise

+0

В этом случае «депт» в вашем фильтре не совпадает с «дептом» в вашем ng-повторе. – NicolasMoise

0

Один из способов заключается в использовании фильтрованной версии depts массива обновляется в обратном вызове наблюдатель от dept.parentDepartment.

Почему не угловой фильтр? потому что он оценивается в каждом цикле дайджеста.

Смежные вопросы