如何获得()的打字稿工作
问题描述:
说我们有角反应形式:如何获得()的打字稿工作
<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知识...
答
因为通过添加get
使它成为吸气剂并且可以像字段一样被访问(读取)。这是一个TypeScript功能。
使用set
您可以创建一个匹配的setter,并且您可以读取它们并将其设置为一个字段。
+0
我希望你的个人资料图像至少在20年前制作完成。谢谢你的回答,现在它对我来说更加清晰 –
因为这就是getters/setters如何在JS中工作,请阅读https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get –
这是一个很好的问题,我认为它可以如果你不习惯在其他语言(如Java)中使用它,会令人困惑。有名为getter和setter。我不善于解释,但你可以在这里找到许多很好的答案,只需要寻找获得者和接受者。 – Vega
谢谢大家,我会读一读。和@Maximus - 我以前访问过那个页面,只是阅读/理解文档对我来说还是有点难... –