【问题标题】:Angular pass a component from a module to another module in the App moduleAngular 将组件从模块传递到 App 模块中的另一个模块
【发布时间】:2019-03-02 01:17:50
【问题描述】:

我在弄清楚如何将导入的模块中的组件传递到我的 Angular 应用程序中并在我也在我的应用程序中导入的另一个模块中使用它时遇到了问题。

请注意,所有这两个模块都是我创建的模块。

那是我的 app.module.ts :

@NgModule({
  declarations: [
    AppComponent,
    HomeComponent,
    PnDashboardComponent,
    PnFormulaireComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    HttpClientModule,
    LayoutModule.forRoot(environment.layout),
    DispoModule.forRoot(environment.dispoAides)
  ],
  providers: [
    ErrorsHandler,
    InitialisationService,
    InitializationGuard
  ],
  bootstrap: [AppComponent]
})

我想要做的是将一个名为 BreadcrumbComponent 的组件从 LayoutModule 传递到 DispoModule 并能够在该模块中使用它。

请注意,LayoutModule 和 DispoModule 是依赖 Angular 模块项目,它们使用 ng-packagr 打包并导入到我的应用程序中。

谢谢。

【问题讨论】:

  • 查看出口答案,这是您要走的路。
  • @Swoox 它不起作用,我在 cmets 中解释了原因

标签: angular module components ng-modules


【解决方案1】:

您需要创建一个 SharedModule 并在其中声明 BreadcrumbComponent。同时导出组件,以便我可以在其他模块中使用。

将 SharedModule 导入应用程序中要使用 BreadcrumbComponent 的任何位置

【讨论】:

  • 我编辑了问题,我忘了提到模块是在我的应用程序中打包和导入的依赖项目,所以我认为您的解决方案在这种情况下不起作用
【解决方案2】:

如果你想做的是将一个名为 BreadcrumbComponent 的组件从 LayoutModule 传递给 DispoModule,然后就可以在该模块中使用它。

然后写

exports: [
    BreadcrumbComponent
]

在你的LayoutModule

并在DispoModule中导入LayoutModule

【讨论】:

  • 我无法在DispoModule 中导入LayoutModule,因为我不想将LayoutModule 放在DispoModule 的package.json 中。如果我只想要一个组件,我看不出安装整个包的意义。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-14
  • 1970-01-01
  • 1970-01-01
  • 2021-01-18
  • 2018-09-05
  • 2016-08-28
相关资源
最近更新 更多