要检查特定字段是否已更改,可以使用Angular的FormControl
和valueChanges
属性。下面是一个代码示例:
首先,创建一个FormGroup
并添加一个FormControl
来跟踪特定字段的值:
import { Component, OnInit } from '@angular/core';
import { FormGroup, FormControl } from '@angular/forms';
@Component({
selector: 'app-my-form',
template: `
`,
})
export class MyFormComponent implements OnInit {
myForm: FormGroup;
ngOnInit() {
this.myForm = new FormGroup({
myField: new FormControl('')
});
}
markFieldAsChanged() {
this.myForm.get('myField').markAsDirty();
}
checkFieldChanges() {
if (this.myForm.get('myField').dirty) {
console.log('Field has been changed');
} else {
console.log('Field has not been changed');
}
}
}
在模板中,我们使用formGroup
指令将myForm
绑定到表单元素上。然后,我们使用formControlName
指令将myField
绑定到输入框上。当输入框的值发生变化时,会调用markFieldAsChanged
方法来标记字段已更改。
最后,我们在点击按钮时调用checkFieldChanges
方法来检查字段是否已更改。我们使用dirty
属性来检查字段是否已更改。
请注意,此示例假设你已经安装了@angular/forms
模块,并且在模块中进行了正确的导入和配置。