AngularJS - ng条件选项

时间:2014-02-10 22:01:17

标签: javascript html5 angularjs

我有一个像这样的选择框基本上它通过一系列部门来查看哪些项目是一个可行的父部门

<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>

但是,一个部门不能拥有自己的父母。无论如何不显示允许它将自己设置为父项的选项?由于它是通过所有部门的数组,除非给出条件,否则选项将在那里。

2 个答案:

答案 0 :(得分:0)

您想在ng-options中添加过滤器。此过滤器应该使用您的部门阵列并删除您不需要的部门。因此,您需要将该部门或至少其索引传递给过滤器功能

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

请参阅Use filter on ng-options to change the value displayed

答案 1 :(得分:0)

一种方法是使用在depts观察者的回调中更新的dept.parentDepartment数组的过滤版本。

为什么不使用角度过滤器?因为它是在每个摘要循环中进行评估的。