gpt4 book ai didi

javascript - 使用自定义过滤器时 $digest() 被调用十次

转载 作者:行者123 更新时间:2023-11-28 08:42:56 26 4
gpt4 key购买 nike

我有以下 Angular 标记:

<tr ng-repeat="dia in dias">
<td>{{ dia[0].fecha }}</td>
<td ng-repeat="bloque in bloques">
<div ng-repeat="hora in dia|soloBloque:bloque|sacarHoras">
{{hora}}
<div ng-repeat="evento in dia|soloHora:hora">{{evento.cantidad}} {{ tipoAMedida(evento.tipo) }}</div>
</div>
</td>
</tr>

线路<div ng-repeat="hora in dia|soloBloque:bloque|sacarHoras">导致 Angular 抛出以下错误:

0x800a139e - JavaScript runtime error: 10 $digest() iterations reached. Aborting!

如果我删除其中一个过滤器,代码就可以正常工作。据我所知,过滤器已正确链接。可能是什么原因造成的?

以下是过滤器:

独奏:

function soloProp(prop) {
return (function (prop) {
return function () {
return function (input, valor) {
return _.filter(input, function (e) { return e[prop] === valor; });
}
}
} (prop));
}

soloBloque = soloProp('bloque');
soloHora = soloProp('hora');

萨卡霍拉斯:

function sacarHoras () {
return function (input) {
return _(input).map('hora').unique();
}
}

最佳答案

问题出在 lodash 的方法链接上。 _(input) 导致 Angular 出错。我将 return _(input).map('hora').unique(); 更改为 return _.unique(_.map(input, 'hora'));sacarHoras 中,现在工作正常。

关于javascript - 使用自定义过滤器时 $digest() 被调用十次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20290316/

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