【发布时间】:2020-02-14 15:09:55
【问题描述】:
在 Angular 中使用 valueChanges 回调时,我注意到 form.get('field').value 和 form.value.field 的值不一样。
例子:
this.form = this.fb.group({
email: ['default@example.com'],
)}
this.form.get('email').valueChanges.subscribe(value => {
console.log(this.form.get('email').value);
console.log(this.form.value.email);
});
在第一次更改时,this.form.get('email').value 将等于 value 的值(= 更新后的值)。但this.form.value.email 仍将等于default@example.com。
- 这是预期的行为吗?
- 我是否应该始终使用
this.form.get('email').value而不是this.form.value.email?
你也可以在这里https://stackblitz.com/edit/angular-8-reactive-form-jrvley?file=src/app/app.component.ts试试stackblitz
【问题讨论】:
-
好问题,如果您订阅 form.valueChanges 值始终相同,请注意
标签: angular