2016-07-18 2 views
2

enter image description here в angular2 RC2Migrate для angular2 RC4 маршрутизации

@Routes([ 
    {path: '/', component: loginComponent}, 
    {path: '/login', component: loginComponent}, 
    {path: '/home', component: homeComponent} 
]) 

и, например, homeComponent мы имеем этот

@Routes([ 
    {path: '/addTemplate', component: addTemplateComponent} 
} 

и иметь некоторый URL внутри/дома (положить/дом/addTemplate) потому что addTemplate находится внутри homeComponent

Мне нужно знать в версии RC4, как применять маршрутизацию деревьев

Потому что у меня есть мой компонент AppComponent и внутри этого AppComponent У меня есть меню, что я хочу это будет показать все времена и в этом меню (homeComponent) Я другая маршрутизацией

это мой код версия RC4 AppRoute.ts

import { provideRouter,RouterConfig} from '@angular/router'; 
    import {loginComponent} from "../login/login.component"; 
    import {homeComponent} from "../home/home.component"; 
    import {HomeRoutes} from "./RouteHome"; 

    export const routes : RouterConfig = [ 
     ...HomeRoutes, 
     {path: '', component: loginComponent}, 
     {path: 'login', component: loginComponent}, 
     {path: 'home', component: homeComponent} 
    ]; 

    export const APP_ROUTER_PROVIDERS = [ 
     provideRouter(routes) 
    ]; 

    export const HomeRoutes : RouterConfig = [ 
     {path: 'addTemplate', component: addTemplateComponent}]; 

, когда я называю this._router.navigate(['addTemplate']); я получаю только addTemplateComponent без меню (homeComponent) так что мне нужно сделать что-то, как я сделал в angular2 RC2 держать заголовок, где у меня есть мое меню благодаря заранее

ответ

2

Это зависит главным образом от того, где вы звоните

this._router.navigate(['addTemplate']); 

Может быть, вы хотите

this._router.navigate(['/addTemplate']); 

или

this._router.navigate(['addTemplate'], {relativeTo: route}); 

или

this._router.navigate(['../addTemplate'], {relativeTo: route}); 
+0

Я называю addTemplate в loginTemplate где Войти успех! ! –

+0

Я попробовал this._router.navigate (['/ home/addTemplate']); Ошибка: не может соответствовать любым маршрутам: «home/listTemplate» (...) считается одним путем –

+0

Я неверно истолковал вашу конфигурацию маршрутов. 'addTemplate' не является дочерним маршрутом' home'. Я уточню свой ответ. –

Смежные вопросы