如何检查 ngModel 输入字段是否脏?

How to check an ngModel input field is dirty?

我有这个 HTML 模板:

<input type="text"
  ngModel
  #myValue="ngModel"
  name="{{ fieldName }}"
  id="{{ fieldName }}"
  value="{{ myVal }}"
  class="form-control"
  (change)="checkDirty(myValue)">

如何检查 my.component.ts 文件中的这个字段是否有问题?

现在 my.component.ts 文件中只有这个基本代码:

export class UriFieldComponent implements OnInit {
    constructor() { }

    ngOnInit() { }

    checkDirty(value) {
        // in here I need to check is dirty or not
    }
}

NgModel class 中有一个 dirty 属性。这意味着您可以:

checkDirty(value) {
    if (value.dirty) {
      ...
    }
}

但是,您使用它的方式是不正确的,如果您在输入更改时检查脏 属性 很明显输入是脏的!。换句话说,如果您要访问 checkDirty 函数,输入总是脏的。