Не работает ссылка с URL-адреса, перенаправляющая на угловое приложение - PullRequest
0 голосов
/ 13 февраля 2019

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

Вот мой маршрут:

const routes: Routes = [
{
    path: 'index',
    component: IndexComponent
},
{
    path: 'login',
    component: LoginComponent
},
{
    path: 'signup',
    component: SignupComponent
},
{
    path: 'verify/:userId/:code',
    component: VerifyComponent,
},
];

Эти компоненты находятся в модуле под названием «Public»,

Я не уверен, что это полезно, но вот мой импорт AppModule:

imports: [
BrowserModule,
AppRoutingModule,
AppAsideModule,
AppBreadcrumbModule.forRoot(),
AppFooterModule,
AppHeaderModule,
AppSidebarModule,
PerfectScrollbarModule,
BsDropdownModule.forRoot(),
TabsModule.forRoot(),
ChartsModule,
AccountSettingModule,
DashboardModule,
PublicModule,
HttpClientModule
],

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

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

Буду признателен за любую помощь или предложение.Спасибо!

РЕДАКТИРОВАТЬ:

Вот пример ссылки, которую я использую:

http://localhost:4200/verify/ba2b6e7a-d508-42b6-7b7e-08d691922233/CfDJ8Itsl344PZFNhS%2BBl0gYyOeKez6UhdY8fDyNrZLI4TudMlmHSiYdYsILhvXzwRPIDBG1X4tN7WBOD5WpPMEFBqoEdkdiEju2bf61hrLHAkR6SkFx5tvAZMeYrDkIR0iRjDgIAfSg6g1JUhiv9z9sSfiTthC2sQGI6ERZ5CidNKP6qADpMeshvowekRGLEprfeSNQaYW%2BxeIBpty38UEkdakHiTpFHsOnTyvgUU%2BC6gnw

И вот как я пытаюсь получить ее на моем VerifyComponent:

ngOnInit() {
    this._route.paramMap.subscribe(params => {
      this.userId = params.get('userId');
      this.code = params.get('code');

      this._authService.verifyCode({ UserId: this.userId, Code: this.code}).subscribe(res => {
        //do something after code is validated
        },
        error => console.log(error))
      },
      error => this._router.navigate(['/login']))

    });
  }
...