要获取ngModel实例以用于ngForm.getControl(dir: NgModel),您可以使用模板引用变量来引用ngModel指令,并将其传递给ngForm.getControl方法。
下面是一个示例,演示如何获取ngModel实例并使用ngForm.getControl方法:
在模板中,为ngModel指令添加一个模板引用变量,例如“#myModel”:
在组件类中,使用@ViewChild装饰器来获取模板引用变量,并将其传递给ngForm.getControl方法:
import { Component, ViewChild } from '@angular/core';
import { NgForm, NgModel } from '@angular/forms';
@Component({
selector: 'app-my-component',
template: `
`
})
export class MyComponent {
@ViewChild(NgForm) myForm: NgForm;
@ViewChild('myModel') myModel: NgModel;
submitForm() {
// 获取ngModel实例
const modelControl = this.myForm.getControl(this.myModel);
console.log(modelControl);
}
}
在上面的示例中,我们使用@ViewChild装饰器分别获取了ngForm实例和ngModel实例。然后,我们可以将ngModel实例传递给ngForm.getControl方法来获取控件的引用。
请注意,要使用@ViewChild装饰器,需要在组件类的import语句中导入NgForm和NgModel类。
希望这可以帮助到您!