2017-06-06 40 views
0

性質的正確的命名我想這樣寫:在Angular2 +

private _name:string; 
public get name():string{ 
    return this._name; 
} 

但角風格指南建議反對:https://angular.io/styleguide#!#03-04

我在想錯了嗎? 我應該用什麼來代替?

+1

Angular使用它本身https://github.com/angular/angular/blob/master/packages/common/src/directives/ng_style.ts#L35-L43 – yurzui

+0

您是否在樣式指南中添加了正確的鏈接?因爲從提供的鏈接中沒有任何反對你的方法。 –

+0

@DenisReshetniak「避免在私有屬性和方法前加一個下劃線。」 – Dinistro

回答

1

您使用的是TypeScript標準。既然你不能命名你的變量名,因爲get name()將被編譯爲whatever.name,你必須使用下劃線。

Angular在這裏沒有什麼不同,因爲它使用TypeScript本身。他們只是說,如果您沒有針對該屬性的特定getter或setter方法,則應該使用名稱。

我不知道你的代碼是否僅僅是一個例子,但它沒有任何意義,因爲無論如何,這個屬性名稱將會公開。

+0

這是有道理的,如果他/她有一個做一些邏輯,而不是在示例中顯示的設置器:) –

+0

謝謝你的回答。這是一個例子,但我喜歡這樣做,因爲在這種情況下,IDE會顯示en錯誤,如果我嘗試如下所示:whatever.name =「George」 – Skvupp

+0

1)您使用的是什麼IDE? 2)你的意思是,如果你使用這種嘗試,IDE會抱怨它? – Wernerson