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

2023-12-20

我明白那个ng-show and ng-hide影响元素上设置的类ng-if控制元素是否呈现为 DOM 的一部分。

有没有选择指南ng-if over ng-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 中的元素对性能的影响较小,并且您的 Web 应用程序在使用时可能会显得更快ng-if相比ng-show/ng-hide。根据我的经验,差异可以忽略不计。同时使用时可以使用动画ng-show/ng-hide and ng-if,Angular 文档中提供了这两个示例。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

何时支持 ng-if 与 ng-show/ng-hide? 的相关文章

随机推荐

  • 方法“ToString”没有重载需要 1 个参数

    我有一个数据读取器来从数据库读取数据 我正在从销售表中读取 TotalPrice 我想将总价显示为小数点后两位 该代码是一些链接 TotalPrice Text myReader TotalPrice ToString N2 但是我遇到了这
  • Android JSONArray 循环

    这是我从网络服务得到的结果 year 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004 2003 2002 2001 2000 1999 1998 1997 1996 1995 1
  • 并行 make:将 -j8 设置为默认选项

    我可以使用以下命令设置构建过程的线程数 j争论 比如我有4核 4虚拟 当我写的时候 make j8速度增加4倍 是否可以将该值设置为默认值 例如 在Linux Gentoo中 在配置文件中 可以设置这个默认值 附注我有 Arch Linux
  • Windows 10 高分辨率屏幕上的 Spyder 界面图标非常小

    我有一台全新的笔记本电脑 分辨率为 3840 x 2160 运行 Windows 10 在安装 Anaconda Spyder 进行 python 编码后 我注意到图标非常小 对象检查器部分的文本也非常小 有没有办法来解决这个问题 这似乎与
  • 如何在 ANSI C 的结构中使用枚举?

    下面的代码必须在主函数中使用 但我不知道它是如何使用的 struct SomeItem enum MOVIE MUSIC itemType union struct Movie movie struct Music music 该结构用于带
  • Highchart js 最多可绘制 15 个图

    我在 Highchart js 中进行了很多尝试 但仍然找不到减少系列中元素数量的方法 如果我获得超过 15 天的数据 我必须将其减少并以 15 天的数据形式向用户显示 以便用户可以在不拥挤的情况下查看数据 该系列最多有 90 天 我必须减
  • IntelliJ IDEA 仅运行/调试一个文件

    我在 IntelliJ IDEA 中有一个 JAVA 项目 有多个包 但我的包中的某些文件有自己的main 方法并且可以自己运行 但是 如果我右键单击给定文件并选择 调试 运行 File main IntelliJ 将尝试构建包中的所有文件
  • ASP.NET MVC 3 中是否可以有多个依赖解析器?

    ASP NET MVC 3 中是否可以有多个依赖解析器 类似于 ModelBinder 和 Provider 的情况 我可以想到一种场景 拥有多个 容器 或 解析器 是有用的 那就是多租户 通过多租户 您可以在同一个 Web 应用程序中运行
  • 禁用 g++ 的返回值优化

    我需要在命令行上使用什么标志来禁用 g 编译器自动启用的返回值优化 fno elide constructors C 标准允许实现省略创建临时对象 该临时对象仅用于初始化相同类型的另一个对象 指定此选项会禁用该优化 并强制 G 在所有情况下
  • Android:调整位图大小而不损失质量

    在发布之前我确实搜索了整个网络 我的问题是 我无法在不损失图像质量的情况下调整位图大小 质量非常差并且像素化 我从相机获取位图 然后必须缩小它的尺寸 这样我就可以更快地将其上传到服务器 这是进行采样的函数 public Bitmap res
  • 继承自 HtmlHelper 而不是扩展它

    我正在创建一组用于渲染兼容的助手推特引导程序 http twitter github com bootstraphtml 在我看来 当谈到如何将这些方法组合在一起时 我有两种选择 扩展 HtmlHelper 在方法中添加 TB 前缀 创建一
  • Python正则表达式匹配<之前的单词

    所以我想匹配这样的东西 foo
  • 当前日期与日期字段之间的天数

    我有这个问题如果有人可以帮忙的话 有一个字段 date 在我的桌子上 table1 这是格式为的日期3 31 1988 M D y 我需要定义自该日期以来已经过去了多少天 我试图给出这个指示 SELECT DATEDIFF CURDATE
  • Angularjs,对表中选定的复选框应用操作

    我正在尝试学习 AngularJS 并实现此复选框 当我从网格中选择一些复选框并单击 删除 按钮时 应从选定的复选框中删除表中的数据 我尝试过但不知道如何实现它 请参阅我在 Plunker 上的这段代码 http plnkr co edit
  • 为什么 SELECT FOR UPDATE 只能在事务中起作用?

    我想我很困惑选择更新 https dev mysql com doc refman 5 0 en innodb locking reads html构造 例子 mysql gt select from employees2 EmpId Em
  • msm 包中出现错误:*** 捕获段错误 *** “内存未映射”

    我正在尝试使用 msm 包运行多状态模型 但遇到以下错误 caught segfault address 0x607c00032c60 cause memory not mapped The data dat long lt structu
  • 如何使用 JavaScript 来限制最小值/最大值之间的数字?

    我想限制两个值之间的数字 我知道在 PHP 中你可以这样做 number min max intval number 1 20 this will make number 1 if it s lower than 1 and 20 if i
  • 即使所选选项没有更改,是否有任何方法可以在 Chrome 中的 SELECT 元素上触发单击事件?

    我有一个 SELECT 元素 其内容 选项元素 通过 AJAX 加载 并在准备就绪时以及更改不同的 SELECT 时插入 两个 SELECT 都有两个 OPTION 元素附加到通过 AJAX 加载的元素列表中
  • PHP Pthreads 最新版本 3.1.6(64 位)未安装在 Apache 上

    我正在尝试为 PHP 安装最新的 pthreads 扩展 3 1 6 64 位 根据 pthreads 的作者建议 http github com krakjoe pthreads http github com krakjoe pthre
  • 何时支持 ng-if 与 ng-show/ng-hide?

    我明白那个ng show and ng hide影响元素上设置的类ng if控制元素是否呈现为 DOM 的一部分 有没有选择指南ng if over ng show ng hide或相反亦然 取决于您的用例 但总结一下差异 ng if将从