如何在多个module.ts文件中注册组件

时间:2019-08-05 10:34:20

标签: angular6

我们可以在多个module.ts文件中注册相同的组件吗?如果是这样,实现此目标的方法是什么?

1 个答案:

答案 0 :(得分:0)

  

我们可以在多个module.ts文件中注册(相同)组件吗?

不。为了在整个应用程序中重复使用单个组件,您必须创建一个共享模块来声明和导出该组件。然后,在需要组件的任何地方导入此共享模块。

SharedModule:

@NgModule({
  declarations: [
    YourComponent,
  ],
  imports: [
    ...
  ],
  exports: [
    YourComponent,
  ],
  providers: [
    ...
  ],
})
export class SharedModule {
}

FeatureOneModule:

@NgModule({
  declarations: [
    ...
  ],
  imports: [
    SharedModule,
  ],
  exports: [
    ...
  ],
  providers: [
    ...
  ],
})
export class FeatureOneModule {
}

FeatureTwoModule:

@NgModule({
  declarations: [
    ...
  ],
  imports: [
    SharedModule,
  ],
  exports: [
    ...
  ],
  providers: [
    ...
  ],
})
export class FeatureTwoModule {
}

然后,您将可以相应地在YourComponentFeatureOne-Module中使用FeatureTwo。 Angular提供了出色的guide here