如何在 entryComponents 另一个模块中使用模块中的组件?
How to use component from module in entryComponents another module?
我有 ngx-bootstrap
模态组件。此模式在 shared
文件夹中使用。我在我的 DashboardModule
中使用这个 FirstModalComponent
,例如:
// Dashboard.module.ts
import { FirstModalComponent } from '../../shared/modals/first-modal/first-modal.component';
@NgModule({
declarations: [
DashboardComponent
],
imports: [
CommonModule,
ReactiveFormsModule,
RouterModule.forChild(routes),
SharedModule
],
entryComponents: [
FirstModalComponent
]
});
如果我想将我的 FirstModalComponent
作为模块,我应该如何在我的 DashboardModule
中实现它并在 entryComponents
中定义它?
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FirstModalModule } from './first-modal/first-modal.module';
@NgModule({
declarations: [],
imports: [
CommonModule,
FirstModalModule
],
exports: [
CommonModule,
FirstModalModule
]
})
export class ModalsModule { }
然后我 import/export SharedModule
中的这个 ModalsModule
并尝试将共享模块导入 DashboardModule
.
现在如何在仪表板中将我的 FirstModalComponent
注入到 entryComponents
?
当我尝试导入 FirstModalComponent
并放入 entryComponents
时出现错误:Component is part of the declaration of 2 modules
.
P.S。我不确定将其作为模块是个好主意..
您应该只在一个 module
中声明 FirstModalComponent
。它可以是一个模块的一部分并由同一模块导出,并且可以定义为 entryComponent
用于它自己的模块。
对于您的情况,将其声明为
entryComponents: [
FirstModalComponent
]
用于 FirstModalModule
并从 FirstModalModule
导出 FirstModalComponent
。当您在 ModalsModule
或应用程序中的任何其他模块中导入 FirstModalModule
时,它将按预期工作。
确保此 FirstModalModule
由您的 ModalsModule
和 SharedModule
导出,具体取决于您的用途。如果您想通过将 SharedModule
导入 DashboardModule
来使用它,则必须从 SharedModule
.
导出
我有 ngx-bootstrap
模态组件。此模式在 shared
文件夹中使用。我在我的 DashboardModule
中使用这个 FirstModalComponent
,例如:
// Dashboard.module.ts
import { FirstModalComponent } from '../../shared/modals/first-modal/first-modal.component';
@NgModule({
declarations: [
DashboardComponent
],
imports: [
CommonModule,
ReactiveFormsModule,
RouterModule.forChild(routes),
SharedModule
],
entryComponents: [
FirstModalComponent
]
});
如果我想将我的 FirstModalComponent
作为模块,我应该如何在我的 DashboardModule
中实现它并在 entryComponents
中定义它?
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FirstModalModule } from './first-modal/first-modal.module';
@NgModule({
declarations: [],
imports: [
CommonModule,
FirstModalModule
],
exports: [
CommonModule,
FirstModalModule
]
})
export class ModalsModule { }
然后我 import/export SharedModule
中的这个 ModalsModule
并尝试将共享模块导入 DashboardModule
.
现在如何在仪表板中将我的 FirstModalComponent
注入到 entryComponents
?
当我尝试导入 FirstModalComponent
并放入 entryComponents
时出现错误:Component is part of the declaration of 2 modules
.
P.S。我不确定将其作为模块是个好主意..
您应该只在一个 module
中声明 FirstModalComponent
。它可以是一个模块的一部分并由同一模块导出,并且可以定义为 entryComponent
用于它自己的模块。
对于您的情况,将其声明为
entryComponents: [
FirstModalComponent
]
用于 FirstModalModule
并从 FirstModalModule
导出 FirstModalComponent
。当您在 ModalsModule
或应用程序中的任何其他模块中导入 FirstModalModule
时,它将按预期工作。
确保此 FirstModalModule
由您的 ModalsModule
和 SharedModule
导出,具体取决于您的用途。如果您想通过将 SharedModule
导入 DashboardModule
来使用它,则必须从 SharedModule
.