導航到孩子的路線後,我有我的路線設置如下所示:角2 RC5路由設置,重定向到根從代碼
const routes: Routes = [
...CoreRoutes,
{ path: 'error', component: ErrorPage},
{ path: 'login', component: LoginPage},
{ path: '', redirectTo: 'app/dashboard', pathMatch: 'full'},
{ path: '**', redirectTo: 'app/dashboard'},
];
與子路由(CoreRoutes)爲:
export const CoreRoutes: Routes = [{
path: 'app',
component: Core,
children: [
{ path: 'dashboard', component: Dashboard},
{ path: 'another-page', component: AnotherPage},
{ path: 'maps-vector', component: MapsVector},
{ path: 'discuss1', component: Discuss1},
{ path: 'profile', component: Profile},
{ path: 'discuss2', component: Discuss2},
{ path: 'grid', component: Grid},
{ path: 'service/:service', component: DynamoComponent},
{ path: 'dynamo', component: DynamoComponent},
{ path: 'tables/dynamic', component: TablesDynamic}
]
}];
當我開始它重定向到「應用程序/儀表盤」正確的應用程序,但是,當我瀏覽使用代碼從我的發電機觀點
this.router.navigate(['app/service/', encodedParams]);
到應用程序/服務:服務我可以看到它要正確路由(並實例化組件,但是在它的NavigationEnd之後,它會重定向到默認的「應用/儀表板」,我只能假設它正在回落到默認路由,但無法弄清楚爲什麼它會這樣做)
如果我嘗試在重定向後第二次訪問應用程序/服務:服務,它可以工作。
如果我從應用程序路線中刪除默認路線,它會正常工作,但我沒有得到默認路線的好處。
我知道這可能是一件簡單的事情,因爲我最近纔開始使用angular 2,但我在這方面一直在打我的頭很久,爲什麼這條路線表現不佳並選擇默認值當它成功加載子路由時的路由。
無其他途徑都有這樣的問題,雖然這一條路徑是在ONY一個我使用代碼導航時,別人都在用routerlinks他們
頁這是我登錄到控制檯的信息從顯示成功後,找到正確的路線應用程序/服務
Angular 2 is running in the development mode. Call enableProdMode() to enable the production mode.
core.ts:246navigation end id: 1 url:/
core.ts:243 navigation start id: 2 url: /app/dynamo
core.ts:240 navigation routerecognized id: 2 url: /app/dynamo
core.ts:246 navigation end id: 2 url: /app/dynamo
core.ts:243 navigation start id: 3 url: /app/service/%257B...
core.ts:240 navigation routerecognized id: 3 url: /app/service/%257B...
core.ts:246 navigation end id: 3 url: /app/service/%257B.
core.ts:243 navigation start id: 4 url:/
core.ts:240 navigation routerecognized id: 4 url:/
core.ts:246 navigation end id: 4 url:/
什麼是'encodedParams'是它的一些對象還是一個字符串數? –
這是一個encodedUrlComponent字符串,它充當參數 –
我還提到,如果我直接打開應用程序到 /應用程序/服務/(encodedParams) 在瀏覽器中的URL作爲初始url它能正常工作 –