问题标签 [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.
angularjs - 带有返回对象数组的ng-repeat函数的AngularJS InfDig错误(无限循环)
这是我的代码:
在 Angular.js v. 1.1.1 中没有错误。在 Angular.JS v 1.2.1 中,我得到一个 infDig 错误。
你能解释一下这种情况吗?非常感谢。
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
angularjs - 将字符串转换为过滤器中的对象时出现 Infdig 错误
我想编写一个过滤器,将字符串数组转换为对象数组(这是我最初问题的简化)。所以,['a', 'b']
应该变成[{id: 'a', label: 'A'}, {id: 'b', label: 'B'}]
.
但是,我的解决方案会导致无限的摘要循环错误。
我没有像这个问题那样修改模型$rootScope:infdig error caused by filter? . 为什么会出现这个错误?
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
angularjs - 角度更新列表 $rootScope:infdig
我正在尝试更新回调函数中的范围列表。这显然工作正常,但是几秒钟后,控制台出现错误:[$rootScope:infdig]。我试图禁用双向数据绑定,但是错误仍然存在。
控制器:
看法:
javascript - 尝试从 $scope 的日期计算时间戳时,Angular 中的 Infdig
我在我的控制器中获得了一个日期值,并且我希望在 $scope 变量中有时间戳值。
我愿意$scope.timestamp = new Date(workspace.date).getTime();
但我在控制台中收到错误消息:
angular.js:63 未捕获的错误:[$rootScope:infdig] 达到 10 $digest() 迭代。中止!(…)
我怎样才能在这里避免摘要循环?
angularjs - Angular 1:ng-repeat 抛出 infdig 错误
控制器:
看法:
JSON响应:
错误:
angular.js:13920 错误:[$rootScope:infdig]
有人可以提示我为什么会收到此错误吗?已经检查了文档,我没有在我的 ng-repeat 中调用函数,也没有在每次调用时生成一个新数组。
javascript - AngularJS:错误:[$rootScope:infdig] - 在 AngularJS 视图中调用函数
我写了一个包含这个功能的控制器:
在视图中:
当我这样做时,我得到一个无限循环($rootScope:infdig
)。
sgcdata.get
发出 XHR 请求。
但是如果我返回一个简单的字符串,它会起作用:
我真的不明白发生了什么...
谢谢你的帮助。
编辑
我做了一个过滤器而不是以前的功能:
JS:
HTML:
我不再有任何无限循环,但是我无法在 ng-repeat 中获取多个值,而过滤器返回在项目请求中。
编辑
sgcdata.get:
angularjs - AngularJS 无限 $digest 循环错误
我正在尝试使用 ng-repeat 填充 div 列表。我还使用了一个有深度的框架(所以我可以浏览列表的元素)。
要设置这个深度,我需要调用getTotalDepths
一个函数来检查列表项的当前索引和一个tempIndex
值。如果它们不同,则应增加总深度,然后返回该totalDepths
值。
我运行它后,出现以下错误(大约 25000 次):
未捕获的错误:[$rootScope:infdig]` http://errors.angularjs.org/1.6.10/$rootScope/infdig ?
HTML:
控制器:
注意:当我totalDepths
在这一行增加时会发生错误:
任何帮助都深表感谢!
angularjs - 尝试减少/变异数据时出现 Infdig 错误
在我的 Angular JS 应用程序中,我globalData
使用服务从中央数据位置(恰当地称为 )调用数据:
数据服务.js:
然后在一个组件中:
myComp.component.js:
myComp.template.html:
这本身就可以正常工作(我提供此背景代码以防万一,因为可能有必要了解我来自哪里)。
现在说myData
我从dataService
(通过subscribeTo
方法)返回的看起来是这样的:
但我希望它看起来像这样:
所以我将以下功能添加到我的component
:
myComp.component.js:
但是,在尝试$ctrl.alteredData()
在模板上使用时给了我一个infdig
错误。
有任何想法吗?