<button [disabled]="isChanged">按鈕</button>
<button [disabled]="!isChanged">按鈕</button>
當isChanged為true時,按鈕將會顯示成禁用狀態(tài)。
<div [ngClass]="borderClass"></div>
// JavaScript
this.borderClass = {active: !this.isTrue};
// css
div.active {
border: 2px solid blue;
}
只有當isTrue變量的值為true時,active
樣式類才會添加到div上。
當然,也可以將鍵值對對象直接添加到屬性值中:
<div [ngClass]="{active: isTrue}">Active類</div>
<div [class.active]="isActive">單個Active類</div>
this.isActive = true;
只有當isActive
為true時,active
樣式類才會添加到div上。
(3) 樣式屬性
設(shè)置單個style
<div [style.background-color]=""></div>
還可以加單位(px, %, em等):
<div [style.font-size.px]="20">20px</div>
ngStyle
<div [ngStyle]="backgroundStyle">樣式屬性</div>
this.backgroundStyle = { 'background-color': this.isActive ? 'red' : 'blue'};
當變量isActive為true時,背景色設(shè)置為red,否則被設(shè)置為blue。
推薦使用這種方式。
注意,樣式屬性命名方法可以用中線命名法,像上面的一樣 也可以用駝峰式命名法,如fontSize。
(4) attribute
<tr><td [attr.colspan]="1 + 1">One-Two</td></tr>
這種用法一般是不存于JavaScript中的屬性。
注意:
ngModel
:
<input [(ngModel)]="name">
<p>{{name}}</p>
注意:要使用雙向綁定,必須導入FormsModule
:
// app/app.module.ts
import { FormsModule } from '@angular/forms';
@NgModule({
declarations: [...],
imports: [
...
FormsModule
],
providers: [],
bootstrap: [AppComponent]
})
當你要監(jiān)聽ngModel
時,可以這樣:
<input [(ngModel)]="tel" (ngModelChange)="modelChagne($event.target.value)">
<p>{{tel}}</p>
()
,比如添加點擊事件:
<div (click)="onClick()"></div>
類似原生的JavaScript事件,Angular中每個事件監(jiān)聽函數(shù)都會有一個$event
作為參數(shù)返回:
<input [(ngModel)]="phone" (blur)="onBlur($event)">
onBlur(event: any) {
alert(event.target.value);
}
上面的代碼表示當input失去焦點時,獲取input的值并且彈出。
更多建議: