Перейдите к руту от дочернего выхода угловой? - PullRequest
0 голосов
/ 27 декабря 2018

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

Это моя структура:

export const rootRouterConfig: Routes = [
   { path: '', redirectTo: 'login', pathMatch: 'full' },
   { path: 'login', component: LoginComponent, canActivate: [AuthGuard] },
   { path: 'dashboard', component: DashboardComponent, resolve: { data: UserResolver},
     children: [
        { path: '', redirectTo: 'projects', pathMatch: 'full' },
        { path: 'projects', component: ProjectsComponent, resolve: { data: UserResolver}},
        { path: 'addproject', component: AddprojectComponent, resolve: { data: UserResolver}},
        { path: 'updateproject/:key', component: AddprojectComponent, resolve: { data: UserResolver}},
        { path: 'network', component: NetworkComponent, resolve: { data: UserResolver}},
        { path: 'figures', component: FiguresComponent, resolve: { data: UserResolver}},
        { path: 'user', component: UserComponent,  resolve: { data: UserResolver}}
     ]
   },
   { path: 'forgot', component: ForgotComponent },
];

Это app.compenent.html:

<main>
    <router-outlet></router-outlet>
</main>

И это dashboard.component.ts:

<div class="dashboard-content-wrapper">
   <router-outlet></router-outlet>
</div>

У меня есть кнопка в UserComponent, которую я ожидаю, чтобы перейти на страницу входа, так как она root, но я могуне прошел компонент приборной панели ??

deleteProfile() {
    this.route.navigate(['/'])
}

Ответы [ 2 ]

0 голосов
/ 29 декабря 2018

RE:

Поскольку это невозможно, поскольку я нахожусь внутри UserComponent, который является дочерним элементом DashboardComenent, поэтому щелчок происходит внутри дочерней розетки.

Это должно быть возможно.Я делаю это все время.

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

Так что-то вроде этого:

this.router.navigate(['/login']);
0 голосов
/ 27 декабря 2018

вам нужно проложить маршрут относительно существующего route.

this.route.navigate([ '../../' ], { relativeTo: this.route })
...