2016-09-24 222 views
2

有人可以幫助我角2路由。 我有2頁..首頁和搜索結果頁面.. 首頁和搜索結果頁面的頁眉是不同的.. 這裏是我的代碼,我能夠顯示首頁與標題,但是當我去搜索結果頁面,報頭是沒有得到替換新的..角2路由問題

home.routes

export const HomeRoutes: Routes = [ 
{ path: '', component: HomeComponent}, 
{ path: '', component: HomeHeadbarComponent, outlet: 'route1' } 
]; 

search.routes

export const SearchRoutes: Routes = [ 
{ path: 'search', component: SearchPanelComponent}, 
{ path: 'search', component: HeadbarComponent, outlet: 'route1' } 
]; 

App.html

<router-outlet name="route1"></router-outlet> 

<router-outlet></router-outlet> 

感謝您的幫助

回答

0

了它與下面的代碼工作..

{ 
    path: 'search', 
    children: [ 
    { 
     path: '', 
     component: SearchPanelComponent 
    }, 
    { 
     path: '', 
     component: HeadbarComponent, 
     outlet: 'route1' 
    }] 
} 
0

我認爲,那是因爲你對第一頭空路徑path: '',所以它可以重疊的新的。你可以嘗試不同的路徑,並檢查出來,應該有所幫助。

+0

相同的結果Mikki ..如果我切換出口路線1和主要組件,頭被替換..底線是主要出口正在被取代,但不是第二個...我的要求是取代2個組件的基礎上路徑 – user6824632

+0

我的意思是,用一些名稱替換空字符串,所以這兩個路由將有一些不同於空字符串的位置路徑 – Mikki

+0

這是一個好點..如果我有兩個頭的空路徑,我會看到2個頭,我需要每頁限制一個標題...我的要求是根據路徑 – user6824632

1

你home.routes應該是下面的代碼,這將被重定向到您HomeComponent,如果你想它重定向SearchPanelComponent都可以在下面使用代碼

從'@ angular/router'導入{Routes,RouterModule};

從'./Home'導入{HomeComponent};

出口const的路線:路線= [

{ path: '', redirectTo: 'Home', pathMatch: 'full' }, 

{ path: 'Home', component: HomeComponent}, 

{ path: 'search', component: SearchPanelComponent}, 

];

export const appRoutingProviders:any [] = [

];

export const routing = RouterModule.forRoot(routes);