在angularjs中过滤ng重复

Filtering in angularjs inside ng-repeat

本文关键字:ng 重复 过滤 angularjs      更新时间:2024-06-18

im试图在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]|json}}导出opdata[odTag],并将其放入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

您的代码没有任何问题。但是您使用的是Angular 1.2.x,其中"结果"功能是Angular 1.3+的一部分