在app.module和child.module中角导入FormsModule

时间:2019-03-02 09:50:00

标签: angular angular-ngmodel

我正在使用带有延迟加载模块的Angular。每个组件都有其自己的模块。如果我在根模块(app.module)中导入模块,则它必须工作正常。例如,我在app.module中导入了HttpClientModule,可以在子组件中使用它。

但是关于FormsModule,这不能正常工作。我必须将其导入子模块中,否则会出现以下错误:

Can't bind to 'ngModel' since it isn't a known property of 'input'. ("

您知道为什么会发生这种情况吗?

2 个答案:

答案 0 :(得分:1)

创建SharedModule

@NgModule({

 imports: [
    CommonModule,
    FormsModule,
  ],
  declarations: [
  ],
  exports: [
    CommonModule,
    FormsModule,
  ]
})
export class SharedModule {
}

并将其添加到app.module.ts

 imports: [ SharedModule.forRoot(),
// Core Module
CoreModule.forRoot()]

答案 1 :(得分:1)

我找到了答案here

  • 如果模块是为组件导入的,则需要将其导入需要它们的每个模块中,
  • 如果模块是为服务导入的,则只需在第一个应用程序模块中导入一次。