Angular 强制角度材质侧导航重绘

Angular 强制角度材质侧导航重绘,angular,Angular,我有一页有两页。但该网站的css包含@media query @media (max-width: 1440px) { mat-sidenav { width: 300px; } } 因此,当屏幕宽度在不重新加载页面的情况下改变时,我观察到内容和sidenav之间有一个边距,因为sidenav宽度变小了: 我应该能够通过MediaMatcher检测到更改: import {MediaMatcher} from '@angular/cdk/layout'; 但

我有一页有两页。但该网站的css包含@media query

@media (max-width: 1440px) {
    mat-sidenav {
        width: 300px;
    }
}
因此,当屏幕宽度在不重新加载页面的情况下改变时,我观察到内容和sidenav之间有一个边距,因为sidenav宽度变小了:

我应该能够通过MediaMatcher检测到更改:

import {MediaMatcher} from '@angular/cdk/layout';
但是,如何从角度组件触发sidenav重画呢?

我使用用户选择的语言提供菜单项标签。因为更改语言会影响sidenav中内容的宽度,这会导致sidenav与主要内容重叠。我通过添加来修复此问题。请注意,它附带一个“使用风险自担”的警告。我选择接受风险,因为在我自己的测试过程中,我没有找到替代的工作解决方案,也没有发现任何问题

我也试过,

  • 通过导航到同一路线强制重新加载页面;变得复杂,因为默认情况下导航到同一路线不起任何作用
  • 切换侧导航两次;快速打开和关闭,从而强制重新计算