gpt4 book ai didi

angularjs - 使用 ng-show expr 切换表会导致摘要迭代限制突破

转载 作者:行者123 更新时间:2023-12-03 06:52:58 25 4
gpt4 key购买 nike

我的代码的 Jsfiddle 是 here .

有一个notes表格,带有一个切换按钮,可以在末尾显示或隐藏该表格。每个注释的背景颜色是从恒定的颜色列表中随机选择的。

当我单击切换按钮时,表格不会被隐藏,而是会使用新颜色重新渲染。 ng-show 是否会在每次点击时创建一个新的范围?而且,我收到此错误,

Uncaught Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!
Watchers fired in the last 5 iterations:
..................................................................

最佳答案

你的代码会被破坏,因为每次你在 Controller 中产生随机颜色时,你都会改变模型,这会触发一个新的摘要循环,这反过来会生成一个新的随机颜色,依此类推......直到无限.

由于 AngularJS 执行更改跟踪的方式,如果您在模型上生成随机值,您的模型将永远不稳定,因此您可能必须尝试其他方法来解决您的问题。

此外,我有一个与您的代码相关的建议:

始终使用分号来完成 JavaScript 句子,否则最终会搬起石头砸自己的脚。

看看这个:Google Javascript Style Guide

编辑

昨天晚上我想到了你的问题,我对此进行了一些修改: Here you have a JsFiddle with a possible approach...

基本上我改变了事情发生的时刻。希望对您有所帮助。

$scope.toggleShow = function() {
$scope.bgColors.length = 0;
for (var idx = 0; idx < $scope.notes.length; idx++) $scope.bgColors.push(getRandColor());
$scope.showAll = !$scope.showAll;
};

关于angularjs - 使用 ng-show expr 切换表会导致摘要迭代限制突破,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35668545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com