ng-repeat不适用于长度大于23的数组。

12 浏览
0 Comments

ng-repeat不适用于长度大于23的数组。

我正在定义一个自定义过滤器,就像这样:

    
        ....

正如你所看到的,使用该过滤器的ng-repeat是嵌套在另一个ng-repeat中的。

过滤器的定义如下:

myapp.filter('range', function() {
    return function(input, min, max) {
        min = parseInt(min); //Make string input int
        max = parseInt(max);
        for (var i=min; i<max; i++)
            input.push(i);
        return input;
    };
});

我得到的错误信息为:

错误:重复项不允许在重复器中。重复器:comment in item.comments | range:1:2 ngRepeatAction@https://ajax.googleapis.com/ajax/libs/angularjs/1.1.4/an

admin 更改状态以发布 2023年5月20日
0
0 Comments

对于那些期望获取JSON数据但仍然遇到相同错误的人,请确保解析您的数据:

$scope.customers = JSON.parse(data)

0
0 Comments

解决方案实际上在这里描述: http://www.anujgakhar.com/2013/06/15/duplicates-in-a-repeater-are-not-allowed-in-angularjs/

AngularJS不允许在ng-repeat指令中出现重复项。这意味着,如果您想要执行以下操作,您将会收到一个错误提示。

// This code throws the error "Duplicates in a repeater are not allowed.
// Repeater: row in [1,1,1] key: number:1"

但是,将上面的代码稍微更改一下,如下定义一个索引来确定唯一性,将会再次起作用。

// This will work

官方文档在这里: https://docs.angularjs.org/error/ngRepeat/dupes

0