Angular 7 - проблема с параметрами на маршрутизаторе Link - PullRequest
0 голосов
/ 27 мая 2019

У меня проблема с отправкой параметра на URL при дочерней маршрутизации.Вот подробности:

У меня есть список пользователей с Id, и когда я нажимаю на пользователя, мне нужно отправить этот Id в качестве параметра в URL, вот список пользователей:

<div class="bx--grid" style="height: 100%" style="padding-left: 0%">
          <div class="bx--structured-list bx--col-lg-12">
              <div class="bx--structured-list-tbody">
                      <div class="bx--structured-list-row" *ngFor="let user of users">
                          <div class="bx--structured-list-td">
                          <a class="nav-link"
                          [routerLinkActive]="['active']"
                          [routerLink]="[user.Id, 'userdetailsview']"> {{user.UserName}}
                       </a>
                      </div>
                  </div>
            </div>
      </div>

Вот мой approuting:

const routes: Routes = [

    //no parameter, so it's not an edit or a view.
    path: "users-manager", component: UserManagerComponent,
    children: [
      { path: "", redirectTo: "landing", pathMatch: "full" },
      { path: "landing", component: LandingBodyComponent },
      //{ path: "new", component: TO_BE_CREATEDComponent }, //This should open the wizard for new user

      { path: "tracks", component: ArtistTrackListComponent },
      { path: "albums", component: ArtistAlbumListComponent },
      { path: "userdetailsview", component: LandingBodyComponent }
    ]
  },
  {
    //recieves the user id in the url to view or edit his/her profiles.
    path: "users-manager/:userId",
    component: UserManagerComponent,
    children: [
      { path: "", redirectTo: "tracks", pathMatch: "full" },
      { path: "tracks", component: ArtistTrackListComponent },
      { path: "albums", component: ArtistAlbumListComponent },
      { path: "userdetailsview", component: LandingBodyComponent }
    ]
  },

Моя проблема в том, что когда я щелкаю пользователя, он идет по правильному пути, например:

http://localhost:4200/#/users-manager/9/userdetailsview

, но когда я щелкаю другого пользователяэто идет к:

http://localhost:4200/#/users-manager/9/11/userdetailsview

Мне нужно заменить новый Id 11 в этом случае на старый 9

Что я здесь не так делаю?

Ответы [ 2 ]

1 голос
/ 27 мая 2019

Вы можете использовать абсолютный путь от root.

routerLink="/users-manager/{{user.Id}}/userdetailsview"
0 голосов
/ 27 мая 2019

Ваш код должен измениться с

[routerLink]="[user.Id, 'userdetailsview']"

к этому

[routerLink]="['/user.Id','userdetailsview']"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...