假设我们具有以下标记:
<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进行某种优化(这只是我的建议,不知道是否确实如此)。>
有什么想法吗?找不到有关它的任何信息。
答案 0 :(得分:0)
您使用的每个ng-if
都会在后台创建一个观察者,如果观察者过多,则会影响性能。
在这种特定情况下,ng-if-start
的性能将更高,因为将创建更少的观察者,因此它的工作量也减少了。
在这种情况下,我倾向于使用ng-switch
,如果您需要多个if
语句,这将特别有用。可以减少多个if语句的监视次数。