HTML:
<select ng-model="selectedValue" ng-options="value as value for value in values_array | filter:skipValues"></select>
控制器:
$scope.skipValues = function(value, index, array) {
return $scope.skip_array.indexOf(value) === -1;
};
$scope.values_array = ['string1', 'string2', 'string3', 'string4'];
$scope.skip_array = ['string2', 'string3'];
jsfiddle
UDPATE:
如果你想一个额外的参数传递给过滤函数
HTML:
<select ng-model="selectedValue" ng-options="value as value for value in values_array | filter:skipValues(1)"></select>
控制器:
$scope.skipValues = function(anInt) {
return function(value, index, array) {
return $scope.skip_array.indexOf(value) === -1 && anInt > 0;
}
};
$scope.values_array = ['string1', 'string2', 'string3', 'string4'];
$scope.skip_array = ['string2', 'string3'];
jsfiddle
如果我想添加一个额外的参数,在我来说,我希望它能够它的基础上跳过一个int,如何添加这个参数给函数? (使用1参数调用函数并将其添加到函数不起作用) – schuimer
@schuimer我已经更新了我的文章并提供了针对您的问题的解决方案。 –
工程就像一个魅力!非常感谢你! – schuimer