Angularjs过滤器生成错误

时间:2015-09-05 19:06:29

标签: angularjs angularjs-ng-repeat

我正在对ng-repeat应用过滤器:

<tr ng-repeat="row in acns | filter:isActive=true">

虽然有效,但却产生错误:

错误:过滤:notarray

这对我来说很奇怪,因为它正在返回一个数组。

2 个答案:

答案 0 :(得分:0)

如果问题只是错误,那么这可以起作用:

<tr ng-repeat="row in acns | toArray:false | filter:isActive=true"> 

答案 1 :(得分:0)

找到一个自定义过滤器,让getLearned的“toArray:fals”回答工作:

app.filter('toArray', function () {
'use strict';

return function (obj) {
    if (!(obj instanceof Object)) {
        return obj;
    }

    return Object.keys(obj).filter(function(key){if(key.charAt(0) !== "$") {return key;}}).map(function (key) {
        return Object.defineProperty(obj[key], '$key', {__proto__: null, value: key});
    });
};

});

全部谢谢!