<hero-detail *ngFor = "let hero of heroes" [hero] = "hero"> </hero-detail>
let
關鍵字建立了一個名叫hero
的模板輸入變量 ngFor
指令每次迭代都從數組中把當前元素賦值給hero
變量ngFor
的宿主元素(及其子元素)中引用模板輸入變量hero
<button #buttonDOM></button> {{buttonDOM}}
<button ref-buttonDOM></button> {{buttonDOM}}
[object HTMLButtonElement]
ngForm
指令)<form #myForm="ngForm"> </form>
插值表達式:在視圖模板中,{{ }}
及{{ }}
中的內容。express
{{ }}
中的內容,稱爲模版表達式{{ }}
中的內容一般是組建類的屬性或方法{{ }}
中的內容,先求值,再轉成字符串<p> {{ name }} </p>
<img src="{{ imgUrl }}">
模板表達式產生一個值。數組
模板表達式不支持內容:安全
=
)+=
、-=
、...
)++
、--
)new
運算符;
或 ,
的鏈式表達式|
和 &
)支持內容(模版表達式運算符):函數
|
、?.
、和 !
{{ }}
中的內容{{ 1 + 1 }}
[property] = "expression"
表達式上下文 是模版中各類綁定值的來源。code
表達式上下文包括(優先級由高到低):orm
注意:對象
window
、document
、console.log
)|
)管道是一個簡單的函數,它接受一個輸入值,並返回轉換結果。事件
?.
)null
和undefined
值,保護視圖渲染器,讓它免於失敗。當person
不存在時,下面代碼將報錯,組件視圖將沒法渲染。ip
{{person.name}}
傳統解決方法:字符串
<ng-container *ngIf="person"> {{person.name}} </ng-container>
{{person && person.name}}
安全導航操做符方式:
{{person?.name}}
!
)--strictNullChecks
標誌強制開啓嚴格空值檢查。null
或undefined
賦值給不容許爲空的變量,類型檢查器就會拋出一個錯誤。null
或undefined
,也會拋出一個錯誤。!
)用於告訴 TypeScript 的類型檢查器對特定的屬性表達式,不作 "嚴格空值檢測"。<div *ngIf="hero"> {{hero!.name}} </div>
模板語句用來響應由綁定目標(如 HTML 元素、組件或指令)觸發的事件。
不支持內容:
+=
、-=
、...
)++
、--
)new
運算符|
和 &
)支持內容:
=
);
或 ,
的鏈式表達式(event)="statement"
語句上下文包括:
$event
對象注意:
window
、document
、console.log
)