我在想,ng-if和ng-switch哪个更快?假设我们有一个案例: 10个不同的div,一次只需要一个。如果使用ng-switch而不是ng-if,在速度上有什么区别吗?
如果使用ng-if,那么所有的元素都会被单独计算,但是ng-switch会做同样的事情吗?
使用angular 1.x
发布于 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相反),这意味着即使用户根本看不到视图,它们的所有监视表达式和性能成本仍然存在。在非常大的视图中,这可能会带来惩罚。
发布于 2017-06-16 16:11:08
ng-if本身是一个ng-switch,唯一的区别是ng-if只有一个表达式。
因此,如果只有一个表达式,最好使用ng-if,否则使用ng-switch。这是使用它们时需要考虑的唯一一件事。
https://stackoverflow.com/questions/44583939
复制相似问题