【发布时间】:2015-07-21 12:28:33
【问题描述】:
我想让ng-repeat 运行从select 输入中选择的课程。
为此,我使用了自定义的filter。
每当arrayFilter 未定义或arrayFilter 为空时,我已将arrayFilter 硬编码为所有值,否则arrayFilter 包含从select 输入中选择的值
Here 是 plunker 演示
有没有更好的方法来实现这个功能?
关于我在代码中使用filter 的方式的任何说明,请参考 here 到 InviS 给出的答案
JS sn-p
angular.module("myApp",[])
.controller("mainctrl",function($scope){
$scope.courses = [{"name":"Java"},{"name":"Python"},{"name":"Nodejs"}] ;
$scope.caller = function(){
console.log($scope.inputvalue);
};
})
.filter('inArray', function($filter){
return function(list, arrayFilter, element){
if(!angular.isUndefined(arrayFilter)){
if(arrayFilter.length ){
}
else{
arrayFilter = ["Java","Python","Nodejs"]
}
}
else{
arrayFilter = ["Java","Python","Nodejs"]
}
return $filter("filter")(list, function(listItem){
return arrayFilter.indexOf(listItem[element]) != -1;
});
};
});
提前致谢。
【问题讨论】:
标签: angularjs angularjs-ng-repeat angularjs-filter