как мне переключить sidenav из другого компонента?
Когда кнопка / триггер находится в том же файле .html, что и sidenav, он работает просто отлично, но если я сгенерирую новый компонент, в моемВ случае, когда я назвал их «sidebar-left» и «topbar», это не работает.
Я создал компоненты для их разделения. Я поместил sidenav в компонент "sidebar-left", а кнопку / триггер в компонент "topbar".
sidebar-left.component.html
<mat-sidenav-container>
<mat-sidenav #sidenav mode="side" [(opened)]="opened" opened>
<h3>Sidenav</h3>
</mat-sidenav>
<mat-sidenav-content>
<app-dashboard></app-dashboard>
</mat-sidenav-content>
</mat-sidenav-container>
topbar.component.html
<mat-toolbar>
<button (click)="sidenav.toggle()" mat-raised-button>Toggle Sidenav</button>
</mat-toolbar>
Я хотел бы иметь возможность вызывать sidenav независимо от того, где я запускаю его внутри приложения.
И когда яНажмите кнопку переключения, у меня появляется эта ошибка:
TopbarComponent.html:1 ERROR TypeError: Cannot read property 'toggle' of undefined
at Object.eval [as handleEvent] (TopbarComponent.html:2)
at handleEvent (core.js:43993)
at callWithDebugContext (core.js:45632)
at Object.debugHandleEvent [as handleEvent] (core.js:45247)
at dispatchEvent (core.js:29804)
at core.js:42925
at HTMLButtonElement.<anonymous> (platform-browser.js:2668)
at ZoneDelegate.invokeTask (zone-evergreen.js:391)
at Object.onInvokeTask (core.js:39680)
at ZoneDelegate.invokeTask (zone-evergreen.js:390)
Вот мой неработающий код StackBlitz