使用ng-if-start而不是多个ng-if时,性能会有所提高吗?

时间:2018-06-26 14:26:10

标签: angularjs

假设我们具有以下标记:

<div ng-if="isVisible"></div>
<div ng-if="isVisible"></div>
...
<div ng-if="isVisible"></div>

我们可以将其替换为:

<div ng-if-start="isVisible"></div>
<div></div>
...
<div ng-if-end></div>

我更喜欢第二种方式,因为它使代码保持DRY。

但是我不知道,从性能角度来看,第二种方法更好吗?这可能看起来并不那么明显,因为angularJS可以在相同条件下对多个ng-if进行某种优化(这只是我的建议,不知道是否确实如此)。

有什么想法吗?找不到有关它的任何信息。

1 个答案:

答案 0 :(得分:0)

您使用的每个ng-if都会在后台创建一个观察者,如果观察者过多,则会影响性能。

在这种特定情况下,ng-if-start的性能将更高,因为将创建更少的观察者,因此它的工作量也减少了。

在这种情况下,我倾向于使用ng-switch,如果您需要多个if语句,这将特别有用。可以减少多个if语句的监视次数。