【发布时间】:2023-02-10 16:16:52
【问题描述】:
我有一个用于 Angular Material 的 DialogService:
constructor(private dialog: MatDialog){}
openDialog(dialogData){
const dialogRef = this.dialog.open(DialogComponent, {
data: dialogData
}
}
和一个 DialogComponent 来打开对话框:
let componentToRender
constructor(@Inject(MAT_DIALOG_DATA) public dialogData){
this.componentToRender = dialogdata.componentToRender
}
和这个模板:
<div class="dialog">
<ng-container></ng-container> // Here i want to dynamically render a given component
</div>
我想给我的 dialogService 和 dialogData 一个组件的引用,我想在我的 diaologComponent <ng-container> 中呈现
结果应该是,我可以调用我的服务并引用一个组件来打开一个对话框容器,该容器在 component.html 的 ng-container 中呈现这个给定的组件。例如像这样:
let dialogData = {}
dialogData.componentToRender = COMPONENT_TO_RENDER_INSIDE_OF_DIALOG
this.dialogService.openDialog(dialogData)
我的想法是制作类似对话框容器的东西,其中主体可以是我想在对话框容器内呈现的任何组件
我希望只写必要的代码就足够了,因为我是从另一台电脑上问这个问题的,无法复制粘贴我已有的东西。谢谢 :)
【问题讨论】:
-
路由器插座呢?
-
router-outlet 对我没有帮助,因为对话框没有路径。但我想在我的 dialogComponent.html 中创建类似路由器插座的东西
标签: javascript angular angular-material