<div *ngIf="isValid">
content here ...
</div>
<div *ngIf="!isValid">
other content here...
</div>
如何用 ngIf else 实现相同的行为?
11 回答
0
ngif表达式结果值不仅仅是布尔值true或false
如果表达式只是一个对象,它仍然将其评估为真实性 .
如果对象未定义或不存在,则ngif将其评估为false .
常用的是如果一个对象加载,存在,则显示该对象的内容,否则显示“loading .......” .
<div *ngIf="!object">
Still loading...........
</div>
<div *ngIf="object">
<!-- the content of this object -->
object.info, object.id, object.name ... etc.
</div>
<div *ngIf="isValid; else templateName">
If isValid is true
</div>
<ng-template #templateName>
If isValid is false
</ng-template>
使用 If with Then (请注意 templateName )
<div *ngIf="isValid; then templateName">
Here is never showing
</div>
<ng-template #templateName>
If isValid is true
</ng-template>
使用 If with Then and Else
<div *ngIf="isValid; then thenTemplateName else elseTemplateName">
Here is never showing
</div>
<ng-template #thenTemplateName>
If isValid is true
</ng-template>
<ng-template #elseTemplateName>
If isValid is false
</ng-template>
11 回答
ngif表达式结果值不仅仅是布尔值true或false
如果表达式只是一个对象,它仍然将其评估为真实性 .
如果对象未定义或不存在,则ngif将其评估为false .
常用的是如果一个对象加载,存在,则显示该对象的内容,否则显示“loading .......” .
另一个例子:
anthoer示例:
ngif template
ngif angular 4
In Angular 4.x.x 您可以通过四种方式使用ngIf来实现简单的if else过程:
为了使用observable,如果可观察数组由数据组成,我通常会这样做 .
ngIf / Else的语法
使用NgIf / Else /然后使用显式语法
要添加模板,我们只需要明确地将它绑定到模板 .
使用NgIf和Async管道的Observable
For more details
“bindEmail”它会检查电子邮件是否可用 . 如果电子邮件存在,则Logout将显示,否则将显示Login
在Angular 4,5和6中
我们可以简单地创建一个模板引用变量[2]并将其链接到* ngIf指令中的else条件
可能的语法[1]是:
DEMO: https://stackblitz.com/edit/angular-feumnt?embed=1&file=src/app/app.component.html
Sources:
https://angular.io/api/common/NgIf#syntax
https://angular.io/guide/template-syntax#template-reference-variables--var-
如果HTML标记或模板上有条件,则有两种可能性:
来自CommonModule的
if-else
Angular 4 and 5 :
使用
else
:你也可以使用
then else
:或
then
单独:Demo :
Plunker
Details:
<ng-template>
:是Angular自己实现的<template>
标签,根据MDN:在Angular 4.0中,
if..else
语法与Java中的条件运算符非常相似 .在Java中,您使用
"condition?stmnt1:stmnt2"
.在Angular 4.0中,您使用
*ngIf="condition;then stmnt1 else stmnt2"
.我知道这已经有一段时间了,但是如果有帮助就想添加它 . 我采用的方法是在组件中有两个标志,两个ngIfs用于相应的两个标志 .
由于ng-template和材料不能很好地协同工作,因此它非常简单并且与材料配合得很好 .