說我們有角反應形式:如何獲得()的打字稿工作
<form [formGroup]="form">
<input formControlName="username">
<div *ngIf="form.get('username').invalid">Invalid</div>
</form>
和組件:
export class FormClass {
form = new FormGroup({
username: new FormControl('', Validators.required);
)}
}
爲了使這條線更短 - <div *ngIf="form.get('username').invalid">Invalid</div>
我們添加一個get方法到組件:
get username() {
return this.form.get('username')
}
所以現在我們能做的 - <div *ngIf="username.invalid">Invalid</div>
我不知道爲什麼我們不這樣做呼叫這種方法嗎?我們只是通過它作爲一種對象 - 沒有()
。我的意思是這個方法是一個函數,函數被調用就像這樣username()
。在這種情況下,get()
有點特別嗎?對不起我的TS知識...
因爲這就是getters/setters如何在JS中工作,請閱讀https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get –
這是一個很好的問題,我認爲它可以如果你不習慣在其他語言(如Java)中使用它,會令人困惑。有名爲getter和setter。我不善於解釋,但你可以在這裏找到許多很好的答案,只需要尋找獲得者和接受者。 – Vega
謝謝大家,我會讀一讀。和@Maximus - 我以前訪問過那個頁面,只是閱讀/理解文檔對我來說還是有點難... –