要检查特定字段是否已更改,可以使用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模块,并且在模块中进行了正确的导入和配置。