перенаправить маршрут на родственный компонент не работает - PullRequest
0 голосов
/ 15 октября 2018

Вот мои маршруты,

export const MY_ACCOUNTS_ROUTES: Routes = [
    {
        path: 'my-accounts',
        component: MyAccountsPage,
        canActivate: [LoginGuard]
    },
    ...environment.features.accounts.myAccountsDetails ? [{
        path: 'my-accounts/:id',
        component: AccountDetailsPage, children: [
            { path: '', redirectTo: 'overview', pathMatch: 'full' },
            { path: 'overview', component: OverviewComponent },
            { path: 'history', component: HistoryComponent },
            { path: 'details', component: DetailsComponent },
            { path: 'user-management', component: UserManagementComponent },
            {
                path: 'requirement-from-authorities',
                component: RequirementFromAuthoritiesComponent,
                children: [
                    { path: '', redirectTo: 'owner-list', pathMatch: 'full' },
                    { path: 'owner-list', component: OwnerListComponent },
                    { path: 'questions/:id', component: PepQuestionComponent },
                    { path: 'answer-overview', component: AnswerOverviewComponent }
                ]
            },
        ]
    }] : [],
];

Я создаю компонент в RequirementFromAuthoritiesComponent.

С OwnerListComponent Я перенаправил маршрут на PepQuestionComponent вот так this.router.navigate(['../questions', owners[0].OwnerId], {relativeTo: this.route})

Это работало.

Но теперь у меня есть кнопка submit и back в PepQuestionComponent.

  1. Если пользователь нажимает «Отправить», мне нужно перенаправить его на answer-overview

  2. Если пользователь нажимает назад, мне нужно перенаправить его на owner-list

мой URL-адрес

http://localhost:4200/en/accounts/my-accounts/16599/requirement-from-authorities/questions/1

Я пытался,

this.router.navigate(['../answer-overview',], {relativeTo: this.route})

это не работает.Он просто заменяет параметр 1 на answer-overview, а не заменяет полный questions/1 и создает URL-адрес, подобный этому http://localhost:4200/en/accounts/my-accounts/16599/requirement-from-authorities/questions/answer-overview

, но мне нужно http://localhost:4200/en/accounts/my-accounts/16599/requirement-from-authorities/answer-overview

Я могу разобратьстроку и удалите все после requirement-from-authorities и добавьте answer-overview к этой строке и перейдите.Но есть ли лучшее решение без этого .. ??

...