<div *ngIf="isValid;else other_content">
content here ...
</div>
<ng-template #other_content>other content here...</ng-template>
<div *ngIf="isValid">
content here ...
</div>
<div *ngIf="!isValid">
other content here...
</div>
这两个语法都是完全有效的,对于语法1,您可以像这里描述的那样更进一步,但是对于使用其中一个和另一个有什么性能/最佳实践建议吗?
两个NGIF
指令被编译两次,并导致两个绑定而不是一个。
如果表达式包含管道,这将变得更加混乱:
<div *ngIf="isValidAsync | async">...</div>
<div *ngIf="!(isValidAsync | async)">...</div>
将导致两个订阅。
下面是我的代码示例: (如果选择了两个,则显示一个输入) https://stackblitz.com/edit/angular-fqkfyx 你好,瓦伦丁
想改进这个问题吗 通过编辑此帖子,更新问题,以便用事实和引用来回答。 考虑以下代码示例: 实现相同功能的另一种方法是: 想知道这两种方式应该用哪一种的具体原因,为什么?
只是一个简单的问题。 让我们将这段代码作为IE: 是 NgIf 内的内容呈现然后从页面中隐藏,还是角度“知道”此 div 不会显示,因此甚至不渲染其中的内容?
问题内容: 和之间有什么实际区别?这两个指令都操作DOM,但更为冗长。除非在这种情况下需要非常大的东西,否则通常使用这种情况吗? 有一种情况,并不能直接替代品?还是它们唯一的实际区别在于语法? 问题答案: 我相信,MicheleTilley完全正确,特别是指出/的对比。还有另外一个需要注意的区别:将 原位 分离并重新附加元素。但是具有外部包含元素,您可以在其上声明主要指令及其条件:。该外部元素中的
在模板中的对应元素显示后,获取的最优雅的方法是什么? 下面是一个例子。还提供柱塞。 component.template.html: component.component.ts: 我有一个默认情况下隐藏其内容的组件。当有人调用方法时,它将变得可见。但是,在Angular 2更改检测完成之前,我不能引用。我通常将所有必需的操作包装到中,如上图所示。有没有更正确的方法? 我知道有一个带有的选项,但是
我开始使用动画js,我想在我的Angular应用程序中包含一个动画。 在尝试这样做时,我发现当放置动画的< code>div依赖于指令< code>ngIf时,动画不起作用。当ngIf中的条件为真时,图像正确加载,但它没有动画。删除指令解决了这个问题,但我想有条件地展示它。 JS: CSS: HTML工作正常: 超文本标记语言没有动画: HTML也不工作: 我应该做些什么来使动画符合Angular