为了账号安全,请及时绑定邮箱和手机立即绑定

什么时候喜欢N-if对ng-显示/ng-隐藏?

什么时候喜欢N-if对ng-显示/ng-隐藏?

森栏 2019-07-01 15:32:10
什么时候喜欢N-if对ng-显示/ng-隐藏?我明白ng-show和ng-hide影响元素上的类集,而ng-if控制元素是否作为DOM的一部分呈现。是否有选择的准则?ng-if过关ng-show/ng-hide反之亦然?
查看完整描述

3 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

取决于您的用例,但是要总结其中的区别:

  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中的元素对性能的影响较小,并且您的web应用程序在使用ng-if相比较ng-show/ng-hide..根据我的经验,两者之间的差别是可以忽略不计的。使用这两种方法时,动画是可能的。ng-show/ng-hideng-if,在角文档中给出了这两种方法的例子。

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


查看完整回答
反对 回复 2019-07-01
  • 3 回答
  • 0 关注
  • 499 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信