Angular 9 - запутанная навигация ребенка / родителя - PullRequest
0 голосов
/ 17 апреля 2020

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

routing.module.ts

{
    path: '',
    component: FrameworkComponent,
    children: [
      {
        path: 'products',
        component: ProductListingPageComponent,
        canActivate: [EnsureAuthenticated]
      },
      {
        path: 'categories',
        component: CategoryListingPageComponent,
        canActivate: [EnsureAuthenticated]
      }
    ]
},
{
    path: '',
    component: AppComponent,
    children: [
      {
        path: 'login',
        component: LoginPageComponent
      },
      {
        path: 'register',
        component: RegistrationPageComponent
      }
    ]
}

Так что, находясь на LoginPageComponents, я просто хотел бы перейти к /products путь (в случае успеха при входе в систему)

login-page.component.ts

this.authService.logIn(this.credentials)
    .then(_ => this.router.navigateByUrl('/products'))
    .catch(this.handleLoginError.bind(this));

В результате я ничего не получаю. Просто запрос летит на сервер, и я вижу успешный вход в систему и ничего более - без ошибок и т. Д. c.

Не могли бы вы посоветовать?

Ответы [ 2 ]

0 голосов
/ 22 апреля 2020

После тысячи проб и ошибок я нашел решение. Проблема была в canActivate собственности. Он проверяет наличие токена для входа, и я забыл установить этот токен во время входа в систему.

0 голосов
/ 17 апреля 2020

Вы пытались проверить полученный ответ?

this.authService.logIn(this.credentials)
    .then(res => {
     console.log(res);
     this.router.navigateByUrl('/products');
    }).catch(this.handleLoginError.bind(this));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...