我试图找到重置角反应形式的最佳方法。我对重置反应形式有点困惑,无法找到哪种方法适用于模板驱动形式,哪些方法是反应形式。现在我已经使用 'formGroupDirective' 来重置,但我收到如下所示的控制台错误。

这就是我使用 formGroupDirective 进行重置的方式。
模板文件:
<form
...
#formDirective="formGroupDirective"
>Run Code Online (Sandbox Code Playgroud)
TS文件:
import { ViewChild, ... } from '@angular/core';
import { FormGroupDirective, ... } from '@angular/forms';
export class MyComponent {
...
@ViewChild('formGroupDirective') private formGroupDirective: FormGroupDirective;
constructor(... )
private someFunction(): void {
...
formGroupDirective.resetForm();
}
}Run Code Online (Sandbox Code Playgroud)
在这里我无法理解一件事,FormGroupDirective 和 FormDirective 之间有什么区别。以及哪一种更适合反应形式。甚至我们可以通过 formGroup 名称重置
this.formGroup.reset();
Run Code Online (Sandbox Code Playgroud)
因此,如果我们能够通过 formGroup 名称进行重置,那么为什么我们需要使用指令。如果有人有想法,请帮助我理解这些差异。