我试图在ngRepeat内部进行过滤,并且我使用filter
的所有过滤器始终出现相同的错误,这里我把代码和错误放在:
HTML:
<input type="text" ng-model="searchOd.name"/>
<li ng-repeat="od in opdata[odTag] | filter:searchOd as odFiltered">
错误:
TypeError: boolean is not a function
at angular.min.js:16709
at $parseFilter (angular.min.js:12155)
at Object.regularInterceptedExpression (angular.min.js:12851)
at Scope.$get.Scope.$digest (angular.min.js:14235)
at Scope.$get.Scope.$apply (angular.min.js:14506)
at done (angular.min.js:9659)
at completeRequest (angular.min.js:9849)
at XMLHttpRequest.requestLoaded (angular.min.js:9790)
我尝试使用{{opdata [odTag] |导出opdata [odTag] json}}并且放入一个plunkr但是在plunkr它工作!我做错了什么?
这就是我现在没有filter
:
.filter('byDistrict', function() {
return function(items, id_district) {
var filtered = [];
if(!id_district) return items;
angular.forEach(items, function(item) {
if(item.id_district == id_district) filtered.push(item);
});
return filtered;
}
})
提前致谢!
修改
正如在plunkr中说的那样它可以工作,但我放在这里:plunkr
答案 0 :(得分:0)
您的代码没有错。但是您使用的是Angular 1.2.x,其中“as results”功能是Angular 1.3 +
的一部分