本文概述
例子
component.ts文件:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-server2', templateUrl: './server2.component.html', styleUrls: ['./server2.component.css']
})
export class Server2Component implements OnInit {
allowNewServer = false;
serverCreationStatus = 'No server is created.';
serverName = 'TestServer';
serverCreated = false;
/*constructor() {
setTimeout(() =>{
this.allowNewServer = true;
}, 5000);
}*/
ngOnInit() {
}
onCreateServer() {
this.serverCreated = true;
this.serverCreationStatus = 'Server is created. Name of the server is' + this.serverName;
}
OnUpdateServerName(event: Event) {
this.serverName = (<HTMLInputElement>event.target).value;
}
}
component.html文件:
<p>
Server2 is also working fine.
</p>
<label>Server Name</label>
<!--<input type="text"
class="form-control"
(input)="OnUpdateServerName($event)">-->
<input type="text"
class="form-control"
[(ngModel)]="serverName">
<!--<p>{{serverName}}</p>-->
<button
class="btn btn-primary"
[disabled]="allowNewServer"
(click)="onCreateServer()">Add Server</button>
<p *ngIf="serverCreated"> Server is created. Server name is {{serverName}}</p>
输出:
输出将如下所示。
当我们更改输入值并单击“添加服务器”按钮时,你将看到以下结果:
你可以在上面的示例中看到,通过使用* ngIf指令,我们可以更改条件以相应地显示输出。
你可以在添加服务器之前和之后检查输出的视图源。你会清楚地看到差异。
在添加服务器之前:
添加服务器后:
因此,你可以看到结构化指令如何更改DOM。
* ngIf指令具有其他条件
你还可以通过* ngIf指令使用Else条件。如果* ngIf不为真,则用于显示输出。让我们在component.html文件中进行一些更改。
component.html文件:
<p *ngIf="serverCreated; else noServer"> Server is created. Server name is {{serverName}}</p>
<ng-template #noServer>
<p>No Server is created.</p>
</ng-template>
输出:
单击“添加服务器”按钮后:
你还可以使用否定(!)符号检查其反向大小写。
<p *ngIf="!serverCreated; else noServer"> Server is created. Server name is {{serverName}}</p>
<ng-template #noServer>
<p>No Server is created.</p>
</ng-template>