组件“ TopSearchBarComponent”由多个NgModule声明-Angular 10

时间:2020-09-04 17:22:02

标签: angular angular10

我是新手。我有像TopSearchBarComponent这样的组件。我需要在所有模块中使用相同的组件。 我有以下模块

app.module.ts
a.module.ts
b.modules.ts

如果我在两个ngModule中都声明了TopSearchBarComponent,则会收到类似由多个NgModule声明的错误

我的问题是如何以最佳方式在所有模块中使用相同的组件。

谢谢

1 个答案:

答案 0 :(得分:1)

不能在一个以上的模块中声明组件,因此,如果要在一个以上的模块中使用组件,那么简单的解决方案是在该组件自己的模块中声明该组件并将其导出,使用CLI可以运行

  • ng g m my-element这将生成MyElementModule
  • ng g c my-element会生成上面步骤1中在MyElementModule中声明的MyElementComponent
  • 最后,在MyElementModule的@NgModule装饰器数组中,添加带有MyElementComponent的exports数组

此后,只要您希望使用该组件,就只需导入模块,这样就永远不会在多个模块中声明该组件