可以使用 [valueChanges] 订阅单个 FormControl 的值变化,而不是订阅整个 FormGroup 的值变化。这样就可以避免不必要的变化。
示例代码:
// 创建一个 FormGroup 和 FormControl this.formGroup = new FormGroup({ username: new FormControl('', Validators.required), password: new FormControl('', Validators.required) });
// 订阅单独的 FormControl 变化 this.formGroup.get('username').valueChanges.subscribe(value => console.log(value));
// 或者使用表单模板
onUsernameChange(value: string) { console.log(value); }
这样,只有当表单中的用户名输入框的值发生变化时,才会触发 onUsernameChange 方法。