问题标签 [angularjs-infdig]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
9231 浏览

angularjs - 带有返回对象数组的ng-repeat函数的AngularJS InfDig错误(无限循环)

这是我的代码:

在 Angular.js v. 1.1.1 中没有错误。在 Angular.JS v 1.2.1 中,我得到一个 infDig 错误。

v.1.1.1 的小提琴

v.1.2.1 的小提琴

你能解释一下这种情况吗?非常感谢。

0 投票
2 回答
1136 浏览

angularjs - AngularJS过滤器在创建新数组时抛出infdig错误

我正要把头撞到墙上。我以为我了解了角度的工作原理(过滤器也是)。但我只是找不到关于我的过滤器的问题。它会导致 infdig。我什至不改变过滤器中的源数组。

我有需要将数据拆分为 x 列的列表。用limitTo解决起来很复杂。

它会导致一个脏模板文件。所以我决定创建一个过滤器,将数组拆分为组。

所以我可以很容易地在我的模板中使用它。

你能帮我了解一下这个过滤器中导致 infdig 的原因吗?

编辑:错误消息本身看起来很奇怪,其中一些数字没有出现在代码中的任何位置,可以在http://plnkr.co/edit/pV1gkp0o5KeimwPlEMlF看到

达到 10 次 $digest() 迭代。中止!观察者在最后 5 次迭代中触发:[[{"msg":"fn:regularInterceptedExpression","newVal":23,"oldVal":20}],[{"msg":"fn:regularInterceptedExpression","newVal" :26,"oldVal":23}],[{"msg":"fn:regularInterceptedExpression","newVal":29,"oldVal":26}],[{"msg":"fn:regularInterceptedExpression"," newVal":32,"oldVal":29}],[{"msg":"fn:regularInterceptedExpression","newVal":35,"oldVal":32}]]

HTML 模板

控制器代码

所以数组以空引用开始并从服务器加载数据。更改数组会导致第二次过滤器运行。但在那之后它并没有停止

编辑:这里是 plunkr http://plnkr.co/edit/OmHQ62VgiCXeVzKa5qjz?p=preview

编辑: https ://stackoverflow.com/a/21653981/1666060 上的相关答案,但这仍然不能解释内置过滤器的角度。

这里是 angularjs limitTo 过滤源代码

https://github.com/angular/angular.js/blob/master/src/ng/filter/limitTo.js#L3

0 投票
0 回答
56 浏览

angularjs - 将字符串转换为过滤器中的对象时出现 Infdig 错误

我想编写一个过滤器,将字符串数组转换为对象数组(这是我最初问题的简化)。所以,['a', 'b']应该变成[{id: 'a', label: 'A'}, {id: 'b', label: 'B'}].

但是,我的解决方案会导致无限的摘要循环错误。

我没有像这个问题那样修改模型$rootScope:infdig error caused by filter? . 为什么会出现这个错误?

0 投票
1 回答
109 浏览

angularjs - Angular - 递增值会产生摘要错误

我知道我遇到的问题,但我无法找到解决方法。无论我做什么,我都会收到一个摘要错误。我相信的问题是在 ng-repeat 中调用“getPlayerIcon”方法。

HTML:

AngularJS:

“玩家”包含一个“位置”字段,可以是防御者或攻击者。'getPlayerIcon' 方法将位置作为参数,然后创建一个具有该位置名称的范围变量,如果它是第一个遇到该位置的值,则值为 1,或者如果出现那个位置。

我遇到的问题是,在 ng-src 上调用一个方法每次在 ng-repeat 中调用它时都会更改值,这会导致臭名昭著的 indig 摘要错误:

我怎样才能解决这个问题?我必须递增,因为例如,如果 team.players 中有 4 名防守者和 4 名攻击者,我希望能够使用 Defender/1、Defender/2、Defender/3、Defender/4、Attacker/ 加载图像1、攻击者/2、攻击者/3、攻击者/4。基本上我需要它来识别位置,并计算该位置以提取正确的图像。

帮助!

谢谢,FYP

0 投票
1 回答
114 浏览

angularjs - 角度更新列表 $rootScope:infdig

我正在尝试更新回调函数中的范围列表。这显然工作正常,但是几秒钟后,控制台出现错误:[$rootScope:infdig]。我试图禁用双向数据绑定,但是错误仍然存​​在。

控制器:

看法:

0 投票
0 回答
95 浏览

javascript - 尝试从 $scope 的日期计算时间戳时,Angular 中的 Infdig

我在我的控制器中获得了一个日期值,并且我希望在 $scope 变量中有时间戳值。

我愿意$scope.timestamp = new Date(workspace.date).getTime();

但我在控制台中收到错误消息:

angular.js:63 未捕获的错误:[$rootScope:infdig] 达到 10 $digest() 迭代。中止!(…)

我怎样才能在这里避免摘要循环?

0 投票
2 回答
188 浏览

angularjs - Angular 1:ng-repeat 抛出 infdig 错误

控制器:

看法:

JSON响应:

错误:

angular.js:13920 错误:[$rootScope:infdig]

有人可以提示我为什么会收到此错误吗?已经检查了文档,我没有在我的 ng-repeat 中调用函数,也没有在每次调用时生成一个新数组。

0 投票
2 回答
410 浏览

javascript - AngularJS:错误:[$rootScope:infdig] - 在 AngularJS 视图中调用函数

我写了一个包含这个功能的控制器:

在视图中:

当我这样做时,我得到一个无限循环($rootScope:infdig)。

sgcdata.get发出 XHR 请求。

但是如果我返回一个简单的字符串,它会起作用:

我真的不明白发生了什么...

谢谢你的帮助。

编辑

我做了一个过滤器而不是以前的功能:

JS:

HTML:

我不再有任何无限循环,但是我无法在 ng-repeat 中获取多个值,而过滤器返回在项目请求中。

编辑

sgcdata.get:

0 投票
1 回答
449 浏览

angularjs - AngularJS 无限 $digest 循环错误

我正在尝试使用 ng-repeat 填充 div 列表。我还使用了一个有深度的框架(所以我可以浏览列表的元素)。

要设置这个深度,我需要调用getTotalDepths一个函数来检查列表项的当前索引和一个tempIndex值。如果它们不同,则应增加总深度,然后返回该totalDepths值。

我运行它后,出现以下错误(大约 25000 次):

未捕获的错误:[$rootScope:infdig]` http://errors.angularjs.org/1.6.10/$rootScope/infdig ?

HTML:

控制器:

注意:当我totalDepths在这一行增加时会发生错误:

任何帮助都深表感谢!

0 投票
1 回答
16 浏览

angularjs - 尝试减少/变异数据时出现 Infdig 错误

在我的 Angular JS 应用程序中,我globalData使用服务从中央数据位置(恰当地称为 )调用数据:

数据服务.js:

然后在一个组件中:

myComp.component.js:

myComp.template.html:

这本身就可以正常工作(我提供此背景代码以防万一,因为可能有必要了解我来自哪里)。

现在说myData我从dataService(通过subscribeTo方法)返回的看起来是这样的:

但我希望它看起来像这样:

所以我将以下功能添加到我的component

myComp.component.js:

但是,在尝试$ctrl.alteredData()在模板上使用时给了我一个infdig错误。

有任何想法吗?