在閱讀@Input()
和@Output()
時,我發現我們可以使用別名而不是使用裝飾器的屬性名稱。Angular 2:什麼是@ Input/@輸出別名?
例
class ProductImage {
//Aliased
@Input('myProduct') product: string;
//Un-aliased
@Input() product: string;//not aliased
}
HTML
//Aliased attribute
<SomeComponent [myProduct] = "Product Name"></SomeComponent>
//Un-aliased attribute
<SomeComponent [product] = "Product Name"></SomeComponent>
官方的角度documentation說:
有時候,我們希望輸入/輸出特性的公用名稱是differen t來自內部名稱。 屬性指令通常是這種情況。指令消費者希望綁定到指令的名稱。例如,當我們將帶有myClick選擇器的指令應用於標記時,我們希望綁定到也稱爲myClick的事件屬性。
而且This教程簡要介紹了它:
別名讓我重寫屬性名稱是別名,而不是原來的屬性名
比,我還沒有去過其他能夠在SO上或通過Google找到別名爲@Input()
和@Output()
的其他內容。
事情我想知道是:
- 什麼是 '走樣' 試圖實現?
- 「別名」是我們應該經常使用的東西嗎?
這取決於你和你的團隊風格約定 –
如果你的私人財產綁定輸入,最好遵循ts styleguiders和前綴名稱與下劃線,例如。 @Input('heroName') private _heroName –