Я видел несколько запросов на переключение открытых и закрытых Angular Материал, но я стараюсь всегда закрывать его по нажатию кнопки. Поэтому, если панель открыта и кнопка нажата, закройте панель.
Переключение работает без каких-либо проблем, но когда я пытаюсь всегда закрывать его (установив для panelOpenState
значение false, это не похоже на работу для меня.
В моем html У меня есть:
<mat-expansion-panel [expanded]="panelOpenState">
<mat-expansion-panel-header>
<mat-panel-title>
Workouts
</mat-panel-title>
</mat-expansion-panel-header>
<a href="#">Create Workout</a>
</mat-expansion-panel>
<div>
<div (click)="closePanel()">
<h2>Training Plans </h2>
</div>
</div>
Я пытаюсь получить доступ к закрытию панели при нажатии на div. Для этого мое событие click в файле ts
выглядит так, как показано ниже:
...
export class SidenavComponent {
panelOpenState: boolean = false;
closePanel() {
this.panelOpenState = false;
}
}
Кроме того, я попробовал несколько различных методов в функции * 1013. * Единственный успешно работающий метод - это переключение (this.panelOpenState = !this.panelOpenState
).
Как я могу всегда закрывать панель? Установка значения false при щелчке не работает. Идея, по которой я щелкаю по элементу div и закрываю его, заключается в том, что я хочу, чтобы панель закрывалась в любое время, когда я go перехожу на другой маршрут.