Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度ng if vs ng开关性能_Javascript_Angularjs_Angular Ng If - Fatal编程技术网

Javascript 角度ng if vs 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交换机都创建了它们自己的范围。所以在这一点上,没有区别 最后,我认为

我在想哪一个是ng if或ng开关更快?假设我们有一个案例:10个不同的div,一次只需要一个。如果使用ng开关而不是ng if,速度是否有差异

如果使用ng If,所有元素将分别进行评估,但ng开关是否也会进行评估


使用angular 1.x

ng 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%的过早优化…因为我很好奇