首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular ng-if vs ng-switch性能

Angular ng-if vs ng-switch性能
EN

Stack Overflow用户
提问于 2017-06-16 15:59:57
回答 2查看 5.2K关注 0票数 3

我在想,ng-if和ng-switch哪个更快?假设我们有一个案例: 10个不同的div,一次只需要一个。如果使用ng-switch而不是ng-if,在速度上有什么区别吗?

如果使用ng-if,那么所有的元素都会被单独计算,但是ng-switch会做同样的事情吗?

使用angular 1.x

EN

回答 2

Stack Overflow用户

发布于 2017-06-16 16:19:41

ng-if和ng-switch都创建了自己的作用域。因此,在这一点上,没有区别。

最后,我认为这在很大程度上取决于用例。

如果您只有几个元素,使用ng-switch变体可能会更好,因为正如我在评论中所说的那样,ng-switch有很好的机会避免匹配所有可能的值,因为在angularjs中不可能创建if / else if / else if / else if子句。使用ng-if时,将始终计算所有if条件。

但是因为ng-show将元素保留在DOM中(与ng-if相反),这意味着即使用户根本看不到视图,它们的所有监视表达式和性能成本仍然存在。在非常大的视图中,这可能会带来惩罚。

票数 5
EN

Stack Overflow用户

发布于 2017-06-16 16:11:08

ng-if本身是一个ng-switch,唯一的区别是ng-if只有一个表达式。

因此,如果只有一个表达式,最好使用ng-if,否则使用ng-switch。这是使用它们时需要考虑的唯一一件事。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44583939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档