错误:类型组件是 2 个模块声明的一部分

时间:2021-03-17 18:18:49

标签: angular typescript ionic-framework

我正在 ionic 中调用页面 HTML 中的一个组件,因此我将该组件添加到 page.module.ts 的声明数组中:

@NgModule({
  imports: [
    CommonModule,
    FormsModule,
    IonicModule,
    DeleteFriendsPageRoutingModule
  ],
  declarations: [DeleteFriendsPage,CommunityCardAccordionComponent,GroupTabsComponent],
  entryComponents:  []
})
export class DeleteFriendsPageModule {}

我收到此错误:

<块引用>

错误:类型 CommunityCardAccordionComponent 是 2 个模块声明的一部分:CommunityPageModule 和 DeleteFriendsPageModule!请考虑将 CommunityCardAccordionComponent 移到更高的模块,该模块导入 CommunityPageModule 和 DeleteFriendsPageModule。您还可以创建一个新的 NgModule 导出并包含 CommunityCardAccordionComponent,然后在 CommunityPageModule 和 DeleteFriendsPageModul 中导入该 NgModule

1 个答案:

答案 0 :(得分:0)

问题正如错误所说

<块引用>

CommunityCardAccordionComponent 是 2 个模块声明的一部分

简单来说,你不能在多个模块中声明一个组件...

另一方面,您可以多次导入同一个模块!所以你的解决方案是简单地使用模块,按照这个步骤

  1. BOTH CommunityCardAccordionComponent

    中删除 CommunityPageModule and DeleteFriendsPageModule
  2. 在您的path/to/community-card-accordion-component/中,创建一个模块CommunityCardAccordionModule

@NgModule({
  imports: [CommonModule],
  declarations: [CommunityCardAccordionComponent]
})
export class CommunityCardAccordionModule { }
  1. CommunityCardAccordionModule 中导入 CommunityPageModule and DeleteFriendsPageModule

就是这样,你解决了问题,现在 CommunityCardAccordionComponent 只在一个模块中声明