Javascript 角度ng if vs ng开关性能
我在想哪一个是ng if或ng开关更快?假设我们有一个案例:10个不同的div,一次只需要一个。如果使用ng开关而不是ng if,速度是否有差异 如果使用ng If,所有元素将分别进行评估,但ng开关是否也会进行评估Javascript 角度ng if vs ng开关性能,javascript,angularjs,angular-ng-if,Javascript,Angularjs,Angular Ng If,我在想哪一个是ng if或ng开关更快?假设我们有一个案例:10个不同的div,一次只需要一个。如果使用ng开关而不是ng if,速度是否有差异 如果使用ng If,所有元素将分别进行评估,但ng开关是否也会进行评估 使用angular 1.xng if本身就是一个ng开关,区别仅在于ng if只有一个表达式 所以,如果只有一个表达式,最好使用ng if,否则使用ng开关。这是你需要考虑的唯一问题。 < P>两个NG IF和NG交换机都创建了它们自己的范围。所以在这一点上,没有区别 最后,我认为
使用angular 1.xng if本身就是一个ng开关,区别仅在于ng if只有一个表达式
所以,如果只有一个表达式,最好使用ng if,否则使用ng开关。这是你需要考虑的唯一问题。 < P>两个NG IF和NG交换机都创建了它们自己的范围。所以在这一点上,没有区别 最后,我认为这在很大程度上取决于用例 如果您只有几个元素,那么最好使用
ng switch
变量,因为正如我在评论中所说的,ng switch
很有可能避免匹配所有可能的值,因为在angularjs中不可能创建If/else If/else If/else If
子句。使用ng if
,始终评估所有if条件
但是
由于ng show使元素在DOM中保持活动状态(与
ng if
相反),这意味着即使用户根本看不到视图,它们的所有监视表达式和性能成本仍然存在。在非常大的视图中,这可能会带来惩罚。10个div?!这就是我们的定义。您应该更了解哪一个读起来最好,我认为ng开关
的性能稍好一些,因为它很有可能不是所有的值都匹配。因为在angularjs中不可能创建if/else if/else if/else if子句,所以始终计算所有if条件。除此之外,ng if
和ng开关
在作用域等方面表现非常相同@Liam显然这不是我的整个用例。我只是简化了这个问题。我得到了可能有数千个元素的中继器,每个元素都包含一些类似这样的情况。我也不期望有任何巨大的性能提升。我想知道哪个更好。更好没有意义?它们有不同的用例。如果你不期望任何巨大的性能提升,为什么还要烦恼呢?只要用哪一本书读得最好就行了。这是100%的过早优化…因为我很好奇