ng-if 连续执行方法

ng-if executes method continuously

本文关键字:方法 执行 连续 ng-if      更新时间:2024-04-21

我有以下代码:

data-ng-if="(fooCtrl.displayControl(1))

displayControl方法返回truefalse

我发现,即使经过一次评估,ngif也会不断倾听这一点。我是如何找到这个的,是通过在方法上指出一个断点。经过几个 F8(在调试器中(后,它将照常继续。

为什么ngif连续执行该方法?

Angular 在每个

摘要周期上运行每个观察器函数,因此您的函数被多次检查是正常的。如果你不想要这种行为,你可以考虑一次性绑定(Angular 1.3.x(。

data-ng-if=":: fooCtrl.displayControl(1)"

您的所有内置指令都将在每个$digest周期中触发,在此处和此处查看有关角度摘要周期的更多信息

因此,请注意使用像ng-showng-if这样的指令,不要让它们侦听一个执行大量处理的函数或具有一些循环之类的函数,让它们监听已经确定的布尔值或简单函数