我正在开发热毛巾模板的修改版本以创建 Angular SPA。我正在使用 Breeze 通过 kendo UI 和数据即小部件和图表访问我的数据服务。
我面临与此 SO 帖子Chrome//kendoUI/jQuery: Maximum call stack size exceeded中所述的问题类似的问题。在将我的微风服务输出直接绑定到我的图表时,我在客户端上收到一个最大调用堆栈大小超出错误,并出现“未捕获错误:[$rootScope:infdig] 10 $digest() 迭代次数已达到。Aborting!Watchers 在最后 5 次迭代中触发: [] '
Breeze 结果确实有循环引用,正如上面的链接也表明的那样。在将它绑定到正常的角度范围变量时,我没有收到任何问题,但只有在将它绑定到我的图表时才会出现错误。如链接所示过滤客户端上的数据可能会对性能产生影响。我也尝试了几个替换函数和 JSON.prune,但它们也删除了我需要在图表上显示的数据:(
有没有其他解决方法?
完整的错误粘贴在下面。看起来好像正在为每个属性执行深层复制,但由于存在循环引用,因此最终会引发溢出错误
RangeError: Maximum call stack size exceeded
at Object.toString (native)
at isArray (http://localhost:61438/Scripts/angular.js:596:19)
at isArrayLike (http://localhost:61438/Scripts/angular.js:278:27)
at forEach (http://localhost:61438/Scripts/angular.js:324:16)
at copy (http://localhost:61438/Scripts/angular.js:871:7)
at copy (http://localhost:61438/Scripts/angular.js:858:23)
at copy (http://localhost:61438/Scripts/angular.js:875:28)
at copy (http://localhost:61438/Scripts/angular.js:858:23)
at copy (http://localhost:61438/Scripts/angular.js:875:28)
at copy (http://localhost:61438/Scripts/angular.js:858:23) angular.js:9778
(anonymous function) angular.js:9778
(anonymous function) angular.js:7216
Scope.$digest angular.js:12270
(anonymous function) angular.js:12450
completeOutstandingRequest angular.js:4300
(anonymous function)
Uncaught Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!
Watchers fired in the last 5 iterations: []
http://errors.angularjs.org/1.2.16/$rootScope/infdig?p0=10&p1=%5B%5D angular.js:78
(anonymous function) angular.js:78
Scope.$digest angular.js:12290
(anonymous function) angular.js:12450
completeOutstandingRequest angular.js:4300
(anonymous function)