我有一个Material Dialog组件,它在其他组件中导入并正常工作。一种儿童成分。它正在导入和添加
在根app.module.ts
中:
import { PasswordDialogComponent } from './password-dialog/password-dialog.component';
....
declaration:[PasswordDialogComponent, ....]
.....
现在我有另一个模块:dashboard.module.ts
我要导入相同的对话框组件,以便能够在属于仪表板模块的其他组件中使用它。
问题是当我再次在PasswordDialogComponent
中声明dashboard.module.ts
时,我收到以下错误: ERROR in Error: Type PasswordDialogComponent in....src/app/password-dialog/password-dialog.component.ts is part of the declarations of 2 modules:
这是正确的。
那么,如何在两个/两个不同模块中使用相同的子组件?或者我应该为dashboard.module.ts
创建一个新的子组件,它通常具有相同的作业并执行与PasswordDialogComponent
相同的功能?
答案 0 :(得分:1)
您可以做的是为 PasswordDialogComponent 创建一个模块,将其命名为dialog.module.ts此模块可以在以后用于多个对话框。您可以在 root 和信息中心模块中导入此模块。
所以dialog.module.ts看起来像:
import { PasswordDialogComponent } from './password-dialog/password-dialog.component';
@NgModule({
declarations: [PasswordDialogComponent, ....]
.....
export class dialogModule { }
您的模块如下:
import { dialogModule } from './dialog/dialog.module'; // or ../dialog/
@NgModule({
imports: [dialogModule, ....]
.....