在将Angular Material Forms与Angular 6结合使用时,没有ControlContainer错误提供程序

时间:2018-10-03 09:08:55

标签: angular6 angular-material-6

我已经使用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>

AppModuleLoginModule导入其中。

呈现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材质形式起作用?

但是,如果我们在示例应用程序中使用反应形式,该怎么办?

0 个答案:

没有答案