gpt4 book ai didi

angularjs - 错误 :10 $digest() iterations reached. 中止!观察者在最后 5 次迭代中解雇: [] in filter

转载 作者:行者123 更新时间:2023-12-01 23:53:02 25 4
gpt4 key购买 nike

在我的程序中,我正在显示图像列表。然后我用标签名称过滤它。所以这是我的过滤器。

app.filter('myFilter', function()
{

var filtered = [];
return (function(items, text)
{


if (text === undefined)
{
return items;
}
else
{
angular.forEach(items, function(value, key)
{
var sample = value.tag;
angular.forEach(sample, function(value1, key)
{

if (text === value1)
{
filtered.push(value);
}

});

});

}
return filtered;
})
});

HTML 是:

          <ul>
<li ng-repeat="x in outputphotos| myFilter:text">
<a href="#displayimage/{{x.imageId}}"><img ng-src="{{x.url}}"></a>

</li>
</ul>

并且在输出中它会过滤一次。但如果我第二次输入标签,它就不会过滤。并在控制台中显示错误达到 10 次 $digest() 迭代。中止!观察者在最后 5 次迭代中解雇:[]不允许在转发器中重复。转发器:输出照片中的 x | myFilter:text key: object:004

我不知道如何更改此错误。

最佳答案

让我大胆猜测一下,将过滤后的数组声明 var filtered = []; 移到 return 语句中,例如

return (function(items, text)
{
var filtered = [];

我相信您没有清除旧过滤器并尝试更新再次触发 watch 的过滤器数组。您重复绑定(bind)到 filtered 数组。

关于angularjs - 错误 :10 $digest() iterations reached. 中止!观察者在最后 5 次迭代中解雇: [] in filter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25579521/

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