我一直在寻找解决方案,所以任何帮助都会很棒。
我正在使用 Angular Material 2,我想通过按下 a 中的按钮或仅在对话框关闭时使用.open()
a 的方法。mat-sidenav
mat-dialog
根据文档,我认为我可以mat-sidenav
用(或其他东西)标记元素,#sidenav
然后放入(click)="sidenav.open()"
按钮元素。但是,它不起作用(我读到它可能与不同的 z 平面有关?)。
它看起来像这样:
sidenav.html
<mat-sidenav-container>
<mat-sidenav #sidenav opened="false"> ... </mat-sidenav>
</mat-sidenav-container>
<button mat-button (click)="openDialog"></button>
对话框.html
<button mat-button (click)="sidenav.open()">Open Sidenav</button>
对话框打开和关闭都很好,sidenav 也是如此(通过不同的按钮)。
我确定有一种方法可以从@component 打开sidenav,但在尝试了几种方法后我还没有弄清楚如何。
谢谢
编辑:我应该说我对 Angular 2+ 还很陌生,所以如果你能包含一个带有答案的代码片段,我会很感激的。