canDeactivate в Angular2+ перейти на два шага назад во второй раз назад нажмите
Я реализовал CanDeactive
Guard в последней версии Angular2 +,
Но всякий раз, когда я нажимаю кнопку "Назад" в браузере, в первый раз он позволяет мне оставаться на той же странице (это нормально), но во второй раз он идет на два шага назад.
это мой код:
@NgModule({
imports: [
CommonModule,
RouterModule.forRoot([
{
path: 'home',
component: HomeComponent,
canDeactivate: [HomeGuard]
}
])
],
declarations: [
HomeComponent
],
providers: [HomeGuard],
exports: [RouterModule]
})
export class HomeModule {
}
Домашний компонент
@Component({
template: '<p>home works!</p>'
})
export class HomeComponent {
public counter = 2;
}
И HomeGuard
@Injectable()
export class HomeGuard implements CanDeactivate<HomeComponent> {
canDeactivate(component: HomeComponent, currentRoute: ActivatedRouteSnapshot, currentState: RouterStateSnapshot,
nextState?: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
component.counter--;
return component.counter === 0;
}
}
Я просто хочу вернуться только на один шаг.