Angular Диалог материалов появляется снова - PullRequest
2 голосов
/ 27 февраля 2020

У меня проблема с Angular Material Dialog. Когда я его открываю, он использует функцию, а после того, как я ее закрываю - все в порядке. Но когда я меняю страницу (через маршрутизацию в angular) - это диалоговое окно открывается снова дважды, и когда я меняю страницу (снова через маршрутизацию в angular), снова появляется диалоговое окно, но не дважды (каждый раз диалоговое окно умножается) , Изображения можно посмотреть по этой ссылке: https://imgur.com/a/63FygUv. Код, который вы можете найти здесь: https://pastebin.pl/view/28457001 Извините за мой Engli sh и спасибо за помощь в любом случае.

РЕДАКТИРОВАТЬ: Решена проблема с помощью .unsubscribe в ngOnDestroy. Но в любом случае спасибо за ответ, это действительно помогает мне.

Ответы [ 2 ]

0 голосов
/ 27 февраля 2020

Для части вопроса о закрытии навигации (и это может решить другую проблему):

Material Dialog API предоставляет возможность закрыть диалоговое окно навигации

Попробуйте добавить closeOnNavigation: true, как показано ниже, используя ваш код в качестве примера

const dialogRef = this.dialog.open(FourthPageDialogComponent, {
  disableClose: true,
  data: { selectorFirst: resp['alertFreq'], selectorSecond: resp['conditionalAlert'], sliderFirst: this.sliderFirst, sliderSecond: this.sliderSecond, user: this.user},
  closeOnNavigation: true // Try adding me!
});
0 голосов
/ 27 февраля 2020

Попробуйте установить диалоговую ссылку на неопределенную при закрытии, см. Здесь:

 this.dialogRef.afterClosed().pipe(
    finalize(() => this.dialogRef = undefined)
  );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...