Angular CDK Overlay 容器在新弹出窗口中不起作用

问题描述

我正在使用 DomPortalOutlet 创建一个弹出窗口,并将一个 ComponentPortal 附加到出口,从而允许组件在新窗口中显示。见下文:

this.externalWindow = window.open(
  '','_blank','location=yes,height=' + height + ',width=' + width
);
const outlet = new DomPortalOutlet(
    this.externalWindow.document.body,this.componentFactoryResolver,this.applicationRef,this.injector,document
  );
const containerPortal = new ComponentPortal(myComponent);
  outlet.attach(containerPortal);

这工作正常,新窗口被创建,组件显示、服务和依赖项被注入等。问题是覆盖(mat-menu、mat-select等)是在新弹出窗口中显示在主窗口中。 cdk-overlay-container 仅存在于主窗口中,而不存在于新的弹出窗口中,因此所有覆盖都显示在主窗口中。不知何故,我需要在新的弹出窗口中创建第二个覆盖容器,以便覆盖显示在正确的窗口中。

有什么想法吗?建议?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...