Я давно искал решение для этого, поэтому любая помощь будет отличной.
Я использую Angular Material 2 и хочу использовать метод .open()
для 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>
dialog.html
<button mat-button (click)="sidenav.open()">Open Sidenav</button>
Диалоговое окно открывается и закрывается нормально, как и боковая навигация (с помощью другой кнопки).
Я уверен, что есть способ открыть боковую навигацию из @component, но я не понял, как это сделать, попробовав несколько методов.
Спасибо
Изменить: я должен был сказать, что я новичок в Angular 2+, поэтому, если бы вы могли включить фрагмент кода с ответом, я был бы признателен.
sidenav
ссылку на переменную компоненту диалога в его привязке, только тогда вы сможете переключать боковую навигацию из модального окна. - person Pankaj Parkar   schedule 30.11.2017