Я очень плохо знаком с Angular, и мне не удалось найти ответ на то, что я ищу.
Проблема, с которой я сталкиваюсь сейчас, заключается в том, что все глобальные сообщения об ошибках не исчезают при переключениина другой маршрут.
Я попытался решить эту проблему с помощью интерфейса CanDeactivate.Это мой метод canDeactivate:
canDeactivate(): Observable<boolean> {
console.log('delete test');
this.globalMessageService.remove(GlobalMessageType.MSG_TYPE_ERROR);
return of(true);
}
Этот метод создается в службе с именем cms-page.guard.ts, и при использовании этого на определенных страницах он, кажется, работает просто отлично.Пример, если я использую это на странице "Курсы":
const routes: Routes = [
{
path: 'courses',
canActivate: [CmsPageGuards],
canDeactivate: [CmsPageGuards],
data: { pageLabel: 'courses' },
component: CoursesPageComponent
}
];
По сути, я применил метод canDeactivate на определенной странице.Мне было интересно, возможно ли создать Guard, который применяет глобально метод canDeactivate, чтобы он работал для всех страниц при переходе на другой маршрут?