我已经使用Angular 6编写了一个应用程序,并且正在向其中添加Angular材质。
现有应用程序中使用了反应形式方法
我有一个登录模块,该模块具有以下声明。
@NgModule({
imports: [
CommonModule,
RouterModule.forChild([
{path:'login',component:LoginComponent}
]),
ReactiveFormsModule,
HttpClientModule,
MatFormFieldModule,
MatInputModule
],
declarations: [LoginComponent]
})
export class LoginModule { }
“登录”组件具有以下模板-login.component.html
<form>
<mat-form-field>
<input matInput placeholder="UserName">
</mat-form-field>
</form>
AppModule
将LoginModule
导入其中。
呈现login.html
时,我遇到控制台错误
compiler.js:1016 Uncaught Error: Template parse errors:
No provider for ControlContainer ("<section>
[ERROR ->]<form>
<mat-form-field>
<input matInput placeholder="UserName">
当我在FormsModule
中添加LoginModule
时,此错误已解决
@NgModule({
imports: [
CommonModule,
RouterModule.forChild([
{path:'login',component:LoginComponent}
]),
FormsModule, //forms module added
ReactiveFormsModule,
HttpClientModule,
MatFormFieldModule,
MatInputModule
],
declarations: [LoginComponent]
})
export class LoginModule { }
是否需要添加FormsModule
才能使Angular材质形式起作用?
但是,如果我们在示例应用程序中使用反应形式,该怎么办?