angular.js中有多个自定义过滤器

时间:2014-03-26 20:39:24

标签: angularjs filter

我有一个多复选框应用程序,需要我有多个过滤器。即使我尝试对阵列进行硬编码以进行过滤,我也无法使用多个过滤器。这是我创建的一个例子,试图让它发挥作用。

Working Example

HTML MARKUP:

 <body ng-app="app">
 <div ng-controller="MainCtrl">


     <div ng-repeat="item in data.sessions | IndustryFilter :  data.sessions.industry  ">
         {{item.id}}
     </div>
 </div>

的Javascript

var app = angular.module("app", [])
.controller("MainCtrl", function ($scope, MatchedFilterList) {

$scope.data = {"sessions": [{ 
"id": "a093000000Vhzg7AAB",
"industry": ["Automovtive"],
"sessionName": "Keynote",
},
{ 
"id": "a093000000zg7AAB",
"industry": ["Automovtive", "Retail"],
"sessionName": "Keynote2",
},
{ 
"id": "a093er000f00zg7AAB",
"industry": ["Automovtive", "Retail", "Consumer Goods"],
"sessionName": "Keynote3",
}                      
]}; 
}).filter("IndustryFilter", function (MatchedFilterList) {
return function () {
    var filtered = [];
    angular.forEach(MatchedFilterList.industry, function (item) {

    filtered.push(item);

    });
    console.log("Filter: Filter " + filtered)
    return filtered;
};
})
.factory("MatchedFilterList", function(){
 var matchedFilterList = {};
 matchedFilterList.industry = {
 "Automotive": "Automotive",
 "Retail" : "Retail"
 };
 return matchedFilterList;
});

0 个答案:

没有答案