一尘不染

ngIf和ngSwitch AngularJS

angularjs

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

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


阅读 304

收藏
2020-07-04

共1个答案

一尘不染

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

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


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

2020-07-04