В моем приложении Ionic / Angular у меня есть ситуация, когда я загружаю модальное окно, а затем, когда модальное окно закрывается, я повторно загружаю свой основной компонент. Проблема, с которой я столкнулся, заключается в том, что, исходя из того, как Angular обрабатывает загрузку компонентов, это действие фактически не приведет к повторной загрузке / перемонтированию моего основного компонента. Это просто покажет компонент в том состоянии, в котором он существует в стеке. Это не сработало в моем случае использования, потому что мне нужно повторно загрузить компонент, чтобы запустить некоторый logi c для обновления данных, которые только что изменились в зависимости от того, что произошло в модальном окне.
I нашел способ справиться с этим, но он кажется довольно хакерским. В основном при закрытии модального окна я вызываю службу следующим образом:
async closeModal() {
await this.modalCtlr.dismiss();
this.navService.navigateHome();
}
И в своей служебной функции я бы в основном использовал увеличиваемое значение, чтобы принудительно перезагрузить компонент, например:
navigateHome() {
const incCount = this.counter += 1;
this.navCtlr.navigateRoot(`/main/${incCount}`);
}
Это работает, но, как я уже сказал, кажется довольно хакерским. Есть ли встроенный Angular способ справиться с этим - чтобы компонент перезагружался при возникновении такого события, как закрытие модального окна?