有关Angular JS性能的快速问题。
我有一个ng-repeat列出了搜索结果的负载。我使用指令/模板提取每个搜索项。
使用包含两个指令的ng-if语句还是使用一个指令并在其中包含多个ng-if语句并使用表达式或语句更好?
例如。 Ng-if语句包含两个指令:
<div ng-repeat>
<directive-1 ng-if="this"></directive-1>
<directive-2 ng-if="that"></directive-2>
</div>
要么
<div ng-repeat>
<directive-1></directive-1>
</div>
在指令1中,您有...
<img src="1" ng-if="this">
<img src="2" ng-if="that">
<span>{{title || title2}}</span>
etc...
最佳答案
什么是ng-if?带有隔离范围(2)的指令(1)删除或附加DOM(3)。
这是什么意思?
Ng-if需要时间来初始化。 (不多)
Ng-if创建新的隔离范围。 (不多)
Ng-if与DOM一起使用。 (操作可能非常昂贵)
因此,性能的主要问题与DOM有关。加快ng-if的最佳方法-减少dom操作。
另外,请尝试避免将ng-if与ng-repeat一起使用。当然可以,但是要小心。