Javascript AngularJS-ngOptions条件
我有一个这样的选择框,基本上它通过一系列的部门来查看哪些项目是可行的父部门Javascript AngularJS-ngOptions条件,javascript,html,angularjs,Javascript,Html,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()">
<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>
没有一个
但是,一个部门不能有自己的家长。是否仍然不显示允许将自身设置为父级的选项?由于它将通过所有部门的数组,因此除非给定条件,否则该选项将存在。您想在
ng选项中设置一个过滤器。此筛选器应获取您的部门数组,并删除您不需要的部门。因此,您需要将该部门或至少其索引传递给筛选函数
ng-options=".. as ... for .. in depts | filterFunction:dept"
请参见一种方法是使用在dept.parentDepartment
的观察者的回调中更新的depts
数组的过滤版本
为什么不是一个角度过滤器?因为它是在每个摘要循环中计算的。我似乎无法传入部门,因为传入筛选器函数总是引用自身…您希望筛选部门列表并将一个部门作为参数传递给筛选器。在这种情况下,过滤器中的“dept”与ng-repeat中的“dept”不同。非常感谢您的帮助!我遇到的问题是通过返回部门列表,我仍然在引用整个范围的部门列表。我所做的是创建一个部门的深度副本并返回过滤后的部门!你的建议对我帮助很大!