2 回答

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個贊
深謀遠(yuǎn)慮
回想起來,這是一個非常有趣的問題。實(shí)際問題<div *ngIf="condition; else elseBlock">
按預(yù)期工作。但也確實(shí)如此<div *ngIf="condition else elseBlock">
,那么給出什么呢?實(shí)際上需要分號是什么?
解釋
事實(shí)證明,定義如何擴(kuò)展的Angular微語法規(guī)范非常靈活,并且最初難以掌握。解釋的要點(diǎn)是微語法定義的形式*ngIf
[ngIf]
:prefix
: HTML 屬性鍵。:key
: HTML 屬性鍵。:local
:模板中使用的局部變量名稱。:export
:指令在給定名稱下導(dǎo)出的值。:experession
:標(biāo)準(zhǔn)角度表達(dá)式:keyExp = :key ":"? :expression ("as" :local)? ";"?
:let = "let" :local "=" :export ";"?
:as = :export "as" :local ";"?
看來分號是可選的。另外,在我們的例子中,else
塊是一個關(guān)鍵表達(dá)式,可以看出冒號是可選的,我們目前沒有使用。所以理論上我們也可以使用<div *ngIf="condition else: elseBlock">
.?因此,ngFor
也可以在沒有任何分號的情況下使用。所以下面的塊也可以工作
<div?*ngFor="let?n?of?arr?let?i=index?let?f=first?let?l=last"> ??{{?n?}} ??</div>
工作示例:Stackblitz

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個贊
僅當(dāng)您使用“else”塊時才需要分號。因此,?<div *ngIf="condition">
?(不帶分號)是不使用“else”時的規(guī)范形式,但<div *ngIf="condition;">
(帶分號)也是有效的,并且<div *ngIf="condition; else elseBlock">
是使用“else”時所需的形式。
- 2 回答
- 0 關(guān)注
- 215 瀏覽
添加回答
舉報(bào)