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

ngIf和ngSwitch AngularJS

糜博远
2023-03-14
问题内容

ngIf和之间有什么实际区别ngSwitch?这两个指令都操作DOM,但ngSwitch更为冗长。ngIf除非在这种情况下需要非常大的东西,否则通常使用这种情况ngSwitch吗?

有一种情况,ngSwitchngIf不能直接替代品?还是它们唯一的实际区别在于语法?


问题答案:

我相信,MicheleTilley完全正确,特别是指出ngShow/的对比ngHide。还有另外一个需要注意的区别:ng-If原位 分离并重新附加元素。但是ng-Switch具有外部包含元素,您可以在其上声明主要指令及其条件:ng-switch="expression"。该外部元素中的有条件内容将被append()作为外部元素的 _最后一个子_元素,从而相对于外部元素中的任何无条件内容改变其位置。

并且,请参阅此CodePen以获取这三个代码的交互式演示,以显示执行方面的差异。

编辑:此行为在Angular 1.2中已更改。元素现在留在原处。上面的Codepen提到并演示了这一点,提供了一个链接到1.08Plunk的链接,该链接已被消灭…



 类似资料:
  • 伙计们,你们能帮帮忙吗 所以我正在尝试显示我从后端获得的数据,但似乎 *ngFor 不起作用,只想返回启用的大小如何使用 ngIf 这是模板 这是我得到的数据(我正在循环的部分) 所以我需要显示每个尺寸的价格,然后减去折扣,如果未启用,则显示隐藏该尺寸。

  • 这两个语法都是完全有效的,对于语法1,您可以像这里描述的那样更进一步,但是对于使用其中一个和另一个有什么性能/最佳实践建议吗?

  • 在下面的代码中,我试图在< code >选项卡下显示所有< code >项目(对象),它们应该基于它们的类别。 类别必须相等。 编辑:如果还不清楚,请看这里。 我正在尝试遍历选项卡并将每个选项卡的名称添加到选项卡的“模板”中。 然后,我尝试遍历项目,如果项目的类别与选项卡的类别匹配,那么它将显示在选项卡下。 出于某种原因,它似乎不起作用。我做错什么了吗?< br >请原谅我和我的逻辑,过去两天一直

  • 我正在寻求对组件中的徽章进行动画处理。它有两种可能的状态: 隐藏 显示 当徽章从隐藏转变为显示时,我希望它淡入页面,当徽章由显示转变为隐藏时,我想它淡出。这部分工作得很好-我只需在0和1之间更改不透明度值的状态。 然而,当徽章被隐藏时,它仍然在DOM上,因为它是按钮的一部分,所以在鼠标悬停时看到徽章仍然被占用的所有空白空间看起来很奇怪。理想情况下,当它被隐藏时,我希望它从DOM中消失。 为此,当徽

  • 我遇到需要 *ngIf 和 *ngFor 指令的情况。我在堆栈上找到了很多答案,但对于这种情况没有答案。 我有一个表格,我在其中循环浏览对象数组并在标题中动态写入单元格: 我想显示/隐藏对象是否包含设置为 true 的可见值。我怎样才能做到这一点?

  • 我试图使用ngFor显示选项列表,但只满足某些条件,是否可以一起使用ngFor和ngIF来实现这一点?