我的应用程序包含 3 个模块
- 应用模块
- 管理模块
- XLModule
Component AppHeader(网站的头部)需要在上述3个模块中使用。
目前,它仅在 AppModule 中使用。当我需要在第二个模块 AdminModule 中使“AppHeader”工作时,我真的没有时间真正学习如何在不同模块中使用一个组件,所以我所做的只是复制粘贴“AppHeader”并重命名它到“AdminHeader”,然后将其导入到 AdminModule 以创建所谓的“解决方法”。
那时我还没有真正的“XLModule”。
现在我想在所有 3 个模块中使用“AppHeader”,我真的想摆脱那个复制粘贴的“AdminHeader”。
所以,现在在我的 app.module 中,我已经包含了“AppHeader”
从'./components'导入{AppHeaderComponent};
const APP_COMPONENTS = [AppHeaderComponent]
在我的 NgModule 我有
@NgModule({
imports: [
BrowserModule,
CommonModule,
.... bunch of imports here nothing related to AppHeader and 2 other modules of the applications are also not imported
在我的声明中:
...APP_COMPONENTS
在我的出口中:
APP_COMPONENTS
每当我尝试将“AppHeader”导入到其他 2 个模块中的任何一个时,都会收到“AppHeader”被 2 个模块使用的错误。
我从这里去哪里?我在需要导入或导出的 AppModule 中遗漏了什么?而且,还应该在其他 2 个模块中导入什么,以使这个“AppHeader”在所有 3 个模块中工作,而无需实际制作重复的组件。