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

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

我明白ng-showng-hide影响元素上的类集,而ng-if控制元素是否作为DOM的一部分呈现。

是否有选择的准则?ng-if过关ng-show/ng-hide反之亦然?


森栏
浏览 500回答 3
3回答

慕森王

取决于您的用例,但是要总结其中的区别:ng-if将从DOM中删除元素。这意味着所有的处理程序或附加到这些元素的任何东西都将丢失。例如,如果将单击处理程序绑定到子元素之一,则ng-if计算结果为false,该元素将从DOM中删除,单击处理程序将不再工作,即使在ng-if稍后计算为true并显示元素。您需要重新附加处理程序。ng-show/ng-hide不会从DOM中删除元素。它使用CSS样式隐藏/显示元素(注意:您可能需要添加自己的类)。这样,就不会丢失附加到子程序的处理程序。ng-if创建子作用域ng-show/ng-hide不不存在于DOM中的元素对性能的影响较小,并且您的web应用程序在使用ng-if相比较ng-show/ng-hide..根据我的经验,两者之间的差别是可以忽略不计的。使用这两种方法时,动画是可能的。ng-show/ng-hide和ng-if,在角文档中给出了这两种方法的例子。最终,您需要回答的问题是,您是否可以从DOM中删除元素?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

AngularJS