1
我有四個過濾,例如JobType,經驗,DateAdded和工資我想要做的過濾爲個人和團體。對於它,我在我的控制器中定義的過濾器過濾式,並添加到模板像波紋管。怎麼做的angularjs過濾條件最簡單的羣體?
在我的控制器
.filter('filterType', function($filter) {
// Create the return function
// set the required parameter name to **params**
return function(jobs,workType,experience,dateAdded,salary) {
var filtered =[];
var wT = angular.isUndefined(workType);
var exp = angular.isUndefined(experience);
var dA = angular.isUndefined(dateAdded);
var sal = angular.isUndefined(salary);
if(wT && exp && dA && sal)
return jobs;
angular.forEach(jobs,function(job){
if(exp && dA && sal){
if(job.type == workType)
filtered.push(job)
}
else if(dA && sal && wT){
var exp_val = $filter('split')(experience,',',0);
if(job.experience == exp_val)
filtered.push(job)
}
else if(sal && wT && exp){
var date_field = $filter('pastDay')(job.created_at);
console.log(job.created_at);
console.log(date_field);
if(dateAdded == date_field){
filtered.push(job);
}
}
else if(wT && exp && dA){
var exp_val = $filter('split')(experience,',',0);
if(job.created_at == exp_val)
filtered.push(job)
}
});
return filtered;
}
})
在我的模板
<div flex="20" flex-sm="100" ng-repeat="job in jobs | filterType: workType:experience:dateAdded:salary">
過濾工作,我曾預計,該問題是假設,如果我想用一組過濾的過濾我是否需要寫它的一組if/else語句。它似乎像一個漫長的工作..
任何人都可以提出解決的最佳途徑????????
過濾= $過濾器( '過濾器')(過濾,{類型:workType});如何在過濾器中使用此參數? – user3391137
「重複在中繼器是不允許使用‘軌道由’表達式指定唯一鍵轉發:作業崗位|過濾式:」這個錯誤是發生 – user3391137
你是什麼意思「藉此參數過濾器?」另外,請創建plunkr/jsbin,再現您所看到的問題。 – sirrocco