Как запретить пользователям нажимать кнопку назад в браузере | угловой 6 - PullRequest
0 голосов
/ 12 сентября 2018

Я использую Angular 6 для своего проекта.Мне нужно запретить пользователям нажимать на кнопку «Назад» в браузере и вместо этого показывать предупреждающее сообщение.

1 Ответ

0 голосов
/ 12 сентября 2018

Вам нужно написать класс для реализации интерфейса " CanDeactivate ", где вы можете обрабатывать события.Попробуйте перенаправить на сам активный URL с помощью location.go () , как это происходит при событии кнопки возврата.

location.go('getTheCurrentPathToRedirect');

Что-то вроде ниже одного:

export class CanDeactivateBack implements CanDeactivate<any> {
    constructor(public location: Location, public router: Router) {}
    canDeactivate(component: any, currentRoute: ActivatedRouteSnapshot): boolean {
        //YourConditionIfBackButttonPress - check for the history back click
        if (YourConditionIfBackButttonPress) {
            let urlPath = this.router.createUrlTree([], currentRoute);
            let curUrlPath = urlPath.toString();
            this.location.go(curUrlPath);
            return false;
        } else {
            return true;
        }
    }
}

Я не запускал приведенный выше код.Это просто идея, чтобы вы могли начать с.Позвольте мне проверить и обновить позже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...