当前位置: 首页 > 知识库问答 >
问题:

角5:*ngif=“isvalid;else other_content”VS*ngif=“isvalid”。*ngif=“!Isvalid”

赵河
2023-03-14
<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,您可以像这里描述的那样更进一步,但是对于使用其中一个和另一个有什么性能/最佳实践建议吗?

共有1个答案

扶文光
2023-03-14

两个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