嗨,您能帮我吗,我有一个角度js的情况,根据不同成员的年龄加载occaaption下拉列表,请查看代码片段。

<select selectpicker ng-model="data.dataRequest.members[$index].occupation"
   ng-options="occ.key as occ.value for occ in Lov.occupation track by occ.key">


我想写这样的东西,



但是我看到comaprison运算符在过滤器中不起作用,我什至编写了一个自定义过滤器,但仍然没有用。请帮忙。

最佳答案

您可以使用filter管道动态过滤出职业列表

<select ng-model="data.dataRequest.members[$index].occupation"
   ng-options="occ.key as occ.value for occ in Lov.occupation | filter: myCoolFiter track by occ.key">


在控制器中:

$scope.age = 13;
$scope.myCoolFiter = function(occupationItem){
       // return true or false based on the logic
       // for ex: return occupationItem.fromAge < $scope.age && $scope.age < occupationItem.toAge;
}


但是,为了能够在模板中使用filter管道,Lov.occupation应该是数组,而不是对象

注意

角度myCoolFilter管道为数组中的每个项目调用filterfilter管道具有以下参数列表function(value, index, array)。这是docs以获得更多详细信息

10-05 21:00