导出为的多个指令
multiple directives with export as
<form novalidate class="mt-2" #paramForm="ngForm" [formGroup]="form" (ngSubmit)="onSubmit(form)">
我从 webstorm 得到以下提示:
有没有办法访问 formGroupDirective 导出的 ngForm 实例?
你应该只使用其中之一:
#paramForm="ngForm" // This pertains to Template Driven Form
or
[formGroup]="form" // This pertains to Reactive Form
因此,如果您使用的是 模板驱动表单,您将在 模板 上的 [(ngModel)] 上指定控件,使用 #paramForm="ngForm"
<form novalidate
class="mt-2"
#paramForm="ngForm"
(ngSubmit)="onSubmit(form)">
但如果不是,则您正在使用 反应式表单,您可以在 组件 上指定 FormControls,方法是使用 FormBuilder/FormGroup/FormControl, 使用 [formGroup]="form"
<form novalidate
class="mt-2"
[formGroup]="form"
(ngSubmit)="onSubmit(form)">
Have created a Stackblitz as per your concern below. Hope this helps.
我同时使用 ngForm 指令和 formGroup 指令而没有在 Angular 7 中出现该错误,只要我只导入 ReactiveFormsModule 而不是同时导入 ReactiveFormsModule 和 FormsModule。那可能是你的问题。
示例:
<form [formGroup]="inviteForm" (ngSubmit)="onSubmit()" #formDir="ngForm">
<span *ngIf="formDir.submitted && !inviteForm.get('firstName').valid; else otherErrorMessage">First name invalid</span>
</form>
<form novalidate class="mt-2" #paramForm="ngForm" [formGroup]="form" (ngSubmit)="onSubmit(form)">
我从 webstorm 得到以下提示:
有没有办法访问 formGroupDirective 导出的 ngForm 实例?
你应该只使用其中之一:
#paramForm="ngForm" // This pertains to Template Driven Form
or
[formGroup]="form" // This pertains to Reactive Form
因此,如果您使用的是 模板驱动表单,您将在 模板 上的 [(ngModel)] 上指定控件,使用 #paramForm="ngForm"
<form novalidate
class="mt-2"
#paramForm="ngForm"
(ngSubmit)="onSubmit(form)">
但如果不是,则您正在使用 反应式表单,您可以在 组件 上指定 FormControls,方法是使用 FormBuilder/FormGroup/FormControl, 使用 [formGroup]="form"
<form novalidate
class="mt-2"
[formGroup]="form"
(ngSubmit)="onSubmit(form)">
Have created a Stackblitz as per your concern below. Hope this helps.
我同时使用 ngForm 指令和 formGroup 指令而没有在 Angular 7 中出现该错误,只要我只导入 ReactiveFormsModule 而不是同时导入 ReactiveFormsModule 和 FormsModule。那可能是你的问题。
示例:
<form [formGroup]="inviteForm" (ngSubmit)="onSubmit()" #formDir="ngForm">
<span *ngIf="formDir.submitted && !inviteForm.get('firstName').valid; else otherErrorMessage">First name invalid</span>
</form>