组件 'TopSearchBarComponent' 被多个 NgModule 声明 - Angular 10

The Component 'TopSearchBarComponent' is declared by more than one NgModule - Angular 10

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

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

如果我在两个 ngModule 中声明 TopSearchBarComponent,我会收到类似 declared by multiple one NgModule

的错误

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

谢谢,

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

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

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