Angular = 得到无效的数组长度

Angular = getting invalid array length

我的控制器中有以下功能...

$scope.pagerPages = function (n) {
    var i = Math.ceil(n);
    return new Array(i);
}

n 来自视图上的表达式,有时可以是分数。这就是我在 n.

上完成 Math.ceil 的原因

有人知道我为什么会收到此错误吗?

Invalid array length

编辑; n是从视图

计算出来的
<div ng-repeat="i in pagerPages( report.TotalNumRows / report.View.PageSize ) track by $index">
...
</div>

计算结果为 11.2,这显然有效,因为在页面上我得到了 div 元素的 12 次迭代,但它却产生了这个错误?

检查 i 的值。我怀疑是阴性

即使 n 是字符串或对象,它仍然可以工作。您只会得到错误 i 是一个负数。

new Array({})new Array('ergerg') 不会给你一个错误,但是 new Array(-2) 会给你一个错误