Вы можете сделать несколько небольших изменений, чтобы заставить это работать.
Изменение:
@ViewChild(MatAccordion) accordion: MatAccordion;
@ViewChild(MatAccordion) testing: MatAccordion;
до:
@ViewChild('firstAccordion') firstAccordion: MatAccordion;
@ViewChild('secondAccordion') secondAccordion: MatAccordion;
Добавить в некоторые функции:
openAllFirst() {
this.firstAccordion.openAll();
}
closeAllFirst() {
this.firstAccordion.closeAll();
}
openAllSecond() {
this.secondAccordion.openAll();
}
closeAllSecond() {
this.secondAccordion.closeAll();
}
А в HTML добавьте следующее к двум аккордеонам:
<mat-accordion .... #firstAccordion="matAccordion">
<mat-accordion .... #secondAccordion="matAccordion">
И измените кнопки на новые функции:
(click)="openAllFirst()"
Я скопировал ваш код выше в Stackblitz и внес эти изменения.
Stackblitz - несколько аккордеонов, развернуть все