什么时候支持ng-if和ng-show / ng-hide?

发布于 2021-02-01 10:32:38

我了解这一点,ng-showng-hide会影响在元素上设置的类,并ng-if控制是否将元素呈现为DOM的一部分。

有没有对选择的准则ng-ifng-show/ ng-hide或反之亦然?

关注者
0
被浏览
109
1 个回答
  • 面试哥
    面试哥 2021-02-01
    为面试而生,有面试问题,就找面试哥。

    取决于您的用例,但总结不同之处:

    1. ng-if将从DOM中删除元素。这意味着您所有的处理程序或所有附加到这些元素的内容都将丢失。例如,如果将单击处理程序绑定到子元素之一,ng-if则将其评估为false时,将从DOM中删除该元素,并且即使ng-if稍后将其评估为true并显示该元素,您的单击处理程序也将不再起作用。您将需要重新附加处理程序。
    2. ng-show/ng-hide不会从DOM中删除元素。它使用CSS样式隐藏/显示元素(注意:您可能需要添加自己的类)。这样,您的依附在孩子身上的管理者将不会丢失。
    3. ng-if创建一个子范围,而ng-show/ng-hide没有

    与相比,不在DOM中的元素对性能的影响较小,并且ng-if与相比,您的Web应用可能看起来更快ng-show/ng- hide。根据我的经验,差异可以忽略不计。当同时使用ng-show/ng-hide和时ng- if,可以使用动画,并且在Angular文档中都可以使用示例。

    最终,您需要回答的问题是是否可以从DOM中删除元素?



推荐阅读
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看