угловая защита не перенаправляет на указанный URL.Вместо этого показывает пустой экран - PullRequest
0 голосов
/ 19 сентября 2018
@Injectable()
export class AdminGuard implements CanActivate {

  constructor(

    public ftSubmitResponse: ResponseService,
    private router: Router) { }

  canActivate() {
    if (this.ftSubmitResponse.isenggAccount) {
      return true;

  }
  return false;
  }
}

Я использую gaurd в файле route.guard:

   path: 'retail',  children: [

  { path: 'custom', component: engComponent, canActivate: [AdminGuard] }]

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

1 Ответ

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

https://angular.io/api/router/CanActivate

canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot)

Вам нужны снимки маршрута и состояния, чтобы Angular мог иметь контекст для вашей охраны.

...