angular - 打印对话框后角度弹性布局停止工作
问题描述
我使用角材料和角弹性布局创建了一个角应用程序。该应用程序的问题是,每当我在 chrome 中按 Ctrl + P 时,导航栏中的所有菜单都会消失,并且应该只出现在移动设备中的菜单按钮会出现,最重要的是整个应用程序变得无法使用。我必须刷新浏览器才能使应用程序可重用。我从 angular flex layout 的 github issue pages 中读到,当打印对话框出现时 UI 线程被中断,因此出现了问题。有没有解决这个问题的方法。
我为相同的“ angular-responsive-navbar ”创建了一个 git repo,以便任何人都可以重现该问题。
解决方案
关闭打印对话框后,在 MediaMarshaller 中恢复活动断点会出现一些问题。您可以使用以下代码进行临时修复。
export class CommonMaterialModule {
lastValue;
public constructor (
m: MediaMarshaller,
) { // @ts-ignore
m.subject.subscribe((x) => {
// @ts-ignore
if (m.activatedBreakpoints.filter((b) => b.alias === 'print').length === 0) {
// @ts-ignore
this.lastValue = [...m.activatedBreakpoints];
} else {
// @ts-ignore
m.activatedBreakpoints = [...this.lastValue];
// @ts-ignore
m.hook.collectActivations = () => {};
// @ts-ignore
m.hook.deactivations = [...this.lastValue];
}
});
}
}
请参阅此链接以获取详细说明。
推荐阅读
- ios - Places SDK for iOS 和 Places API 在限制选项下有什么区别?
- vb.net - 如何在vb中检测多个kye press
- python - Python:如何使用带有 scipy.optimize.minimize 的元组
- angular - ng-reflect-model 显示不正确的值,但输入是正确的
- azure - Powershell Azure New-AzVirtualNetworkSubnetConfig 重大更改?
- mysql - mysql 查询慢,可能是由于 find_in_set 函数
- single-sign-on - 如何使用 AWS amplify 将电子邮件地址传递给 Auth.federatedSignIn
- python - 当 LIKE 变量/模式可以更改时如何向 SQL 查询(?,'%?%',...)
- c - 将 12 位数字转换为 2 个 8 位字节
- javascript - Moment JS 设置日期格式