角度材料菜单单击仅在媒体查询的情况下不起作用



在进行媒体查询时,当我尝试使用有角度的材质菜单组件时,我出现了掉队行为。

我有一个自定义的媒体查询,我会根据它的响应呈现一些html。

首先,我有一个菜单项。当页面重新加载时,可以通过单击大小按钮打开菜单。之后,当我点击菜单面板时,它会像预期的那样消失。但是,当我调整窗口大小以触发媒体查询匹配并单击大小按钮时,菜单项会打开,但当我在页面中单击它时不会关闭。

更清楚地说,我添加了一个名为"普通"的按钮来测试意外行为,并意识到这个按钮上似乎没有这种奇怪的行为。

这相当复杂,因为我为此创建了一个stackblitz页面。

只需按下按钮,你就会看到一个菜单项将被渲染,然后点击菜单面板,它将消失。然后调整窗口大小,以便触发媒体查询,大小按钮将不会对关闭菜单产生任何影响。

https://stackblitz.com/edit/angular-qswyoq

如果您进入区域,似乎可以工作:

https://stackblitz.com/edit/angular-i3eb7q?file=src/app/app.component.ts

我的猜测是,因为媒体更改后的点击处理程序绑定在区域外,所以菜单在区域外初始化,用于关闭菜单的事件不会触发更改检测。

最新更新