【问题标题】:Error: Type Component is part of the declarations of 2 modules错误:类型组件是 2 个模块声明的一部分
【发布时间】:2021-06-15 03:20:01
【问题描述】:

我在 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

【问题讨论】:

标签: angular typescript ionic-framework


【解决方案1】:

问题如错误所说

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

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

另一方面,您可以多次导入同一个模块!因此,您的解决方案是简单地使用模块,请按照以下步骤操作

  1. BOTH中删除CommunityCardAccordionComponentCommunityPageModule and DeleteFriendsPageModule

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-03
    • 2020-11-13
    • 2017-09-21
    • 1970-01-01
    • 2019-03-28
    • 1970-01-01
    • 1970-01-01
    • 2020-02-08
    相关资源
    最近更新 更多