Как очистить историю или удалить страницы или компоненты в истории в Ionic 4 или Angular 7 - PullRequest
0 голосов
/ 21 января 2019

Я создаю страницу выхода из системы в Ionic 4, я хочу очистить историю маршрутизатора, чтобы кнопка возврата не работала, плюс я хочу знать, как я могу уничтожить страницу выхода из системы после перехода на экран входа в систему или перед переходом на страницу входа.

Я попытался запустить код в функции «Конструкция», чтобы очистить локальное хранилище и все, что работает в первый раз, но во второй раз не работает этот код. Насколько я понимаю, страница уже загружена, поэтому она не запускает функцию конструктора снова. Я попытался поместить свой код в ngDoCheck (), но он срабатывал несколько раз, чего я не хочу.

Я хочу очистить историю маршрутизации, чтобы кнопка «Назад» не работала при выходе из системы, плюс я хочу знать, как я могу удалить или удалить страницы, которые я посетил ранее.

1 Ответ

0 голосов
/ 21 января 2019

Вы не можете запретить пользователю нажимать назад или удалять его историю, но вы можете добавить защиту на свою страницу входа, чтобы она перенаправляла пользователя после входа в систему. Это должно выглядеть примерно так:

Страж файла

@Injectable({
  providedIn: 'root',
})
export class AuthGuard implements CanActivate {
  canActivate(
    next: ActivatedRouteSnapshot,
    state: RouterStateSnapshot) {
    if(isUserLoggedIn()){ // this redirects the user
       this.router.navigate(['/logged-in-users-area']);
    }
    return isUserLoggedIn(); // this prevents him from reaching the login page
  }
}

Ваш маршрутный файл

const routes: Routes = [{
    path: 'login',
    component: MyLoginComponent,
    canActivate: [AuthGuard],
  }]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...