我正在打开的逻辑在我的控制器成过滤嘴。 逻辑工作在我的API查询,但我想用它作为过滤后的数据基础上,routeparam已被过滤。
这里是我的查询:
CAL.API.query(function(results) {
$scope.calendar = results;
var temp = [];
var result = temp.concat.apply(temp,results.map(function(itm){
return temp.concat.apply(temp, Object.keys(itm.year).map(function(key){
return itm.year[key];
}));
}));
$scope.super = result;
console.log(result);
});
这里是我的过滤器:
angular.module('hcApp')
.filter('super', function() {
return function(items) {
var temp = [];
var result = temp.concat.apply(temp,items.map(function(itm){
return temp.concat.apply(temp, Object.keys(itm.year).map(function(key){
return itm.year[key];
}));
}));
return result;
};
});
我觉得没有什么是错的过滤器,但由于某种原因,它不是在我看来工作。
<div class="calDynamic" data-ng-repeat="n in [] | range:100">
<div ng-repeat="cal in calendar[n].year | filterKey:month | super">
<p>{{cal}}</p>
</div>
</div>
filterKey:
angular.module('customFilters', []).filter('filterKey', function() {
function comparator(a, b) {
return (''+a).toLowerCase().indexOf((''+b).toLowerCase()) > -1;
}
return function(obj, searchKey) {
var filtered = {};
angular.forEach(obj, function(value, key) {
if (comparator(key, searchKey)) {
filtered[key] = value;
}
});
return filtered;
};
});