Можно деактивировать пожары только один раз и не всегда
Мой CanDeactivateGuard
не всегда срабатывает, когда я нажимаю кнопку возврата браузера. Я не могу найти причину. Не могли бы вы взглянуть на мой код и дать мне совет?
охрана:
@Injectable()
export class CanDeactivateGuard implements CanDeactivate<SignupComponent> {
canDeactivate(component: SignupComponent): boolean {
if (!component.canDeactivate()) {
if (confirm("You have unsaved changes! If you leave, your changes will be lost.")) {
return true;
} else {
return false;
}
}
return true;
}
}
Метод в RegistrationComponent:
canDeactivate() {
if (this.activeStep == 'step1' || this.activeStep == 'step5') {
return true;
} else {
return false;
}
}
Маршрутизация:
...
{
path: 'signup/:nickname',
component: SignupComponent
},
{
path: 'signup',
component: SignupComponent,
canDeactivate: [CanDeactivateGuard]
},
...
1 ответ
Добавьте его и к другим маршрутам
{
path: 'signup/:nickname',
component: SignupComponent
canDeactivate: [CanDeactivateGuard]
},
{
path: 'signup',
component: SignupComponent,
canDeactivate: [CanDeactivateGuard]
},