angularjs - 内联 ngRepeat 对象数组

标签 angularjs angularjs-ng-repeat

我正在尝试编写一个带有对象数组的 ng-repeat ,并在 ng-repeat 属性中定义该数组,但由于某种原因,它只是无限期地重复输出。
我将其归结为与最后一部分有关的问题;内联执行。

<span ng-repeat="item in [{test:'a'}, {test:'b'}, {test:'c'}]">{{item.test}}</span>

result of above on my server

控制台中出现一堆 Error: [$rootScope:infdig] 错误。
有趣的是,虽然我运行的是 1.2,但无论我在 jsfiddle 中选择哪个 Angular 版本, ,它渲染得很好。

result of jsfiddle testing

但是 jsfiddle 中的控制台仍然充斥着错误 错误:[$rootScope:infdig] 已达到 10 $digest() 迭代。正在中止!,不仅对对象数组执行此操作,还对数组数组执行此操作(test5)。

我尝试一种解决方法,即 fiddle 中的 test5,保存 var,非常有趣,因为如果您注释掉 ng-repeat,it saves the scope variable fine没有错误。
然而,当您尝试使用该变量时,that is where it dies 。这很有趣,因为这本质上是 test3,它运行顺利。

所以这一定是我想做的一件事的问题,有 variable come from the html (而不是预先存在于js中)。因此,为了终止摘要循环,我尝试将 fiddle 切换到 v1.4 以使用 one time bindingit still fails (控制台错误)。

其他人 seem to have hit the issue ,但在他们自己的库中修复了它,而不是向上游报告

有什么办法可以让它正常工作吗?

最佳答案

看看这段代码。

<!--what I actually want to work-->
  <span ng-init="test10 = [{'text':'but'}, {'text':'this'}, {'text':'refuses'}, {'text':'to'}, {'text':'work'}]"></span>
  <span ng-repeat="item in test10">{{item.text}} </span>

使用 ng-init,您可以从 View 中设置范围变量。

希望对你有帮助!

关于angularjs - 内联 ngRepeat 对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37563546/

相关文章:

angularjs - Angular 新路由器是 1.5 版本的一部分

javascript - 在使用 angularjs 和 ng-repeat 制作的表单中使用插值范围字段名称

angularjs - Angular orderBy 评估表达式

java - AngularJS 1.8.0 和 Jquery 3.6.0 兼容性问题

javascript - Angular UI更新具有不同参数的路由

javascript - 如何在 Jasmine 中模拟 DOM 元素以便 Controller 可以访问它?

Angularjs UI-Router 在不渲染的情况下更改 URL

javascript - 如果过滤器已应用于子级 AngularJS,则将过滤器应用于父级

javascript - Angular : Parse $index before parsing full variable

angularjs - 错误 : No controller in directive