当前位置: 首页 > 面试题库 >

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

方嘉志
2023-03-14
问题内容

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

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


问题答案:

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

  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中删除元素?



 类似资料:
  • 我知道和会影响元素上的类集,并且控制元素是否呈现为DOM的一部分。 是否有关于选择ng(如果)而不是ng(显示)或ng(隐藏)的指南?

  • 问题内容: 我试图了解和/ 之间的区别,但对我来说它们看起来相同。 我应该记住使用一个或另一个来区别吗? 问题答案: ngIf 该指令根据表达式 删除或重新创建 DOM树的一部分。如果赋值为的表达式的计算结果为假值,则将元素从DOM中删除,否则将元素的克隆重新插入DOM中。 删除元素时,使用它的作用域将被销毁,并在恢复该元素时创建一个新的作用域。在内部创建的作用域使用原型继承从其父作用域继承。 如

  • 我试图理解ng if和ng show之间的区别,但在我看来它们是一样的。 选择使用其中一种或另一种有什么区别吗?

  • 问题内容: 想象一下可能会在网页上呈现的大量内容,例如图表。Angular提供2个选项来切换内容的可见性。 ng-show 将呈现内容,而不管其表达方式是什么,然后在事实之后简单地“隐藏”它。这是不理想的,因为用户在会话期间可能永远不会“打开”内容,因此渲染内容很浪费。 ng-if 在这方面更好。如果表达式为假,则用它代替ng- show可以防止首先显示大量内容。但是,它的优点也是缺点,因为如果用

  • 本文向大家介绍angular中ng一if和ng-show/hide 有什么区别?相关面试题,主要包含被问及angular中ng一if和ng-show/hide 有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 1.ng一if 在后面表达式为 true 的时候才创建这个 dom 节点,ng一show 是初始时就创建了,用 display:block 和 display:none 来控制显示和不

  • 问题内容: 目前,我正在学习AngularJS和我难以理解的区别和。 谁能告诉我它们的区别以及何时应使用另一种? 问题答案: ng-bind 具有单向数据绑定($ scope->视图)。它有一个快捷方式 ,用于显示插入到html中的范围值,其中是变量名。 ng-model 用于放置在表单元素中,并具有双向数据绑定($ scope-> view and view-> $ scope),例如。