Прежде чем открыть вопрос, я хотел бы знать, если что-то не так с этим кодом.
Проблема заключается в использовании панели инструментов переключающего устройства в Chrome (от lg до xs).Все еще открыт.Если я обновлюсь, все будет нормально.
view
<mat-drawer-container>
<mat-drawer
#drawer
class="sidenav mat-elevation-z1"
mode="side"
[opened]="opened"
>
<admin-layout-nav></admin-layout-nav>
</mat-drawer>
<main><router-outlet></router-outlet></main>
</mat-drawer-container>
ts
opened = true;
constructor(private media: MediaObserver) {
let watcher = media.media$.subscribe((change: MediaChange) => {
let activeMediaQuery = change
? `'${change.mqAlias}' = (${change.mediaQuery})`
: '';
if (change.mqAlias == 'xs') {
this.opened = false;
}
});
}
RESOLVED
[opened]="opened$ | async"
this.opened$ = media.media$.pipe(
map((change: MediaChange) => {
if (change.mqAlias == 'xs') {
return false;
}
return true;
})
);