Необязательный необязательный маршрут на угловой 8 - PullRequest
0 голосов
/ 26 октября 2019

Есть ли способ выполнить необязательную необязательную маршрутизацию в Angular 8.

{
    path: 'mfa',//ConstantValues.route_list[0].route,
    data: { 'navBar': false },
    children: [
      { path: '', redirectTo: 'reset', pathMatch: 'full' },
      { path: 'mfa-code', component: MfaVerificationCodeComponent },
      { path: ':app', component: MfaMobileAppsComponent },
      { path: ':app/:provider', component: AppProviderComponent }
    ]
  }

Я фокусируюсь на этих двух строках

{ path: ':app', component: MfaMobileAppsComponent },
{ path: ':app/:provider', component: AppProviderComponent }

URL, которого я пытаюсь достичь

https://localhost:44307/mfa/google/apple --> google and apple is optional
https://localhost:44307/mfa/okta/google  --> okta and google is optional

Я не хочу использовать параметр запроса, потому что у меня есть некоторые другие условия. И как мне получить значение URL в файле TS.

1 Ответ

0 голосов
/ 27 октября 2019

Для навигации мне нужно использовать, и это работает

 protected submit(model: MfaAppViewModel) {
    this.router.navigate(['{providerName}'], { relativeTo: this.route });
  }

Другой пример

{path: 'studentList', component : StudentListComponent},  
{path: 'studentDetails/:id/:name/:marks', component : StudentDetailsComponent}


<a routerLink="/studentDetails/{{stud.id}}/{{stud.name}}/{{stud.marks}}"> Id : {{stud.id}}, Name : {{stud.name}} </a>

Чтобы прочитать значение в файле TS

 this.providerName = this.route.snapshot.params['provider'];
...