angular - 未在新窗口中加载样式
问题描述
我在这个Stackblitz上用最少的代码重现了这个问题。
我在新窗口上打开了部分组件,但它仍然应该能够与我的主应用程序交互。我使用DomPortalHost来实现这一点。交互成功,但样式未加载到新窗口中。
如何强制新窗口与主应用程序的样式相匹配?
主应用
窗户:
解决方案
您的模态窗口不包含父窗口的 CSS 样式。因此,您必须自己将它们克隆到新窗口,因为 cdk 门户不应该这样做。
ngOnInit
在您的方法中添加以下步骤:
// STEP 5.1: clone stylesheets and style tags to external window
document.querySelectorAll('link, style').forEach(htmlElement => {
this.externalWindow.document.head.appendChild(htmlElement.cloneNode(true));
});
推荐阅读
- python - Checking condition in negative rolling window within GroupBy in Pandas
- algorithm - 将基于偏好的活动分配建模为稳定婚姻问题还是最低成本问题会更好吗?
- javascript - 反应原生 Firebase | 将子值转换为列表
- android - 库模块中的 lamdas 的 Android Proguard 问题
- google-chrome - 打包的 Chrome 扩展程序是否包含与使用的 Chrome 配置文件/用户的任何连接?
- php - 如何在 laravel Blade 中激活一个子菜单?
- html - Django ModelForm 输入约束
- javascript - Vue.js vuex 道具不会重新渲染
- ios - MQTT 通过多个 ViewController 发送消息
- java - 将 JVM 系统属性添加到正在运行的 JVM?