Angular 组件使用另一个使用导入模块的组件 - 组织?

Angular Component Uses Another Component Which Uses an Imported Module - Organization?

我是 Angular 的新手,似乎不知道如何正确组织我的代码。

我有一个名为 BudgetComponent 的页面,它属于 BudgetModule。 BudgetComponent 显示 AccordionItemComponents 的手风琴列表。我想在其他地方使用这些 Accordion 组件,这就是为什么它们是它们自己的组件 class。

AccordionItemComponent 有一个 img,单击它会打开一个 MatDialogue。 MatDialogue 包含对导入模块 ngx-extended-pdf-viewer(来自在线图书馆)的引用。

我已经创建了一个 AccordionItemModule(我不是 necessary/correct)来容纳相应的组件,但是我不确定如何在我的 ngFor 中创建它的实例。

我真的很难弄清楚哪些组件应该属于哪些模块,以及如何使所有这些工作,以便另一个组件(有自己的模块,如预算(即时间表))也可以参考手风琴物品。我不确定我是否缺少必要的路由或导出逻辑,或者什么...

我附上了一张图表以确保预期用途清晰。

感谢您的帮助。

你的方向是正确的。

首先,在您的 AccordionItemModule class.

中像这样 exports: [AccordionItemComponent] 导出 AccordionItemComponent

其次,在 BudgetModuleScheduleModule class 中将 AccordionItemModule 添加到 imports,因为您希望在其中使用 AccordionItemComponent 组件.

第三,将数据从 BudgetSchedule 组件传递到 Accordion 组件,方法是将其添加到 html 文件中,如下所示:

<app-accordion-item [data]="accordianData"></app-accordion-item>

第四,将@Input() data;作为class变量获取AccordionItemComponent中的数据。现在您可以访问从 BudgetSchedule 组件传递的数据。

最后,循环您的 *ngFor 以在 accordion-item.component.html 中获得所需的结果。

要使用 Modal 组件,请将 Modal 模块添加到 imports 并将 Modal 组件作为 entryComponents: [ModalComponent] 添加到您的 Accordion 模块。

最后,您的 Modal 模块应该 importngx-pdf-viewer 所需的模块。