(Angular 2/4/5/6) Изменение навигации для кнопки браузера назад - PullRequest
1 голос
/ 14 мая 2019

Предыдущий вопрос:

Я пытался переместить пользователя на главную страницу (вместо предыдущей страницы), если пользователь нажал на кнопку возврата браузера .

Решение:

Я использовал комбинацию candeactivateguard, hostlistener.Не забудьте объявить свою охрану в провайдере в файле модуля.

deactivate.guard.ts

import { Injectable } from "@angular/core";
import { CanDeactivate } from "@angular/router";

export interface CanComponentDeactivate {
  canDeactivate(): boolean;
}

@Injectable()
export class DeactivateGuard implements CanDeactivate<CanComponentDeactivate> {
  canDeactivate(component: CanComponentDeactivate): boolean {
    return component.canDeactivate();
  }
}

lastpage.component.ts

import { Component, OnInit, Inject, HostListener } from "@angular/core";
export class LastPageComponent implements OnInit {
   disableSuccessNav = false;
   ngOnInit() {}
   constructor()
   //detects browser back button
   @HostListener("window:popstate")
   onPopState() {
     this.disableSuccessNav = true;
   }

   canDeactivate() {
      return !this.disableSuccessNav;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...