all

何时支持 ng-if 与 ng-show/ng-hide?

发布于 2022-03-22 22:58:13

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

是否有关于选择 /反之亦然的ng-if指导方针?ng-show``ng-hide

关注者
0
被浏览
39
1 个回答
  • 面试哥
    面试哥 2022-03-22
    为面试而生,有面试问题,就找面试哥。

    取决于您的用例,但总结差异:

    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-ifng-show/ng-hide. 根据我的经验,差异可以忽略不计。ng-show/ng- hide当同时使用和时,动画是可能ng-if的,在 Angular 文档中都有例子。

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



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

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

去下载看看