2016-07-15 75 views
0

我使用角2 RC 3和路由器3.0.0-alpha.8并尝试导航到我使用PathLocationStrategy另一个UI组件,但它仅更新网址而不是UI如何在角度2中导航到新的UI组件?

export const HomeRoutes: RouterConfig = [ 
{path:'search/:searchId',component:SearchListingComponent} ] 

和我headerComponent里面我有这个马托

goToSearch(searchId: string): void{ 
    this.location.go('/search',searchId);} 

这应该导航到搜索房源页面,但它仅更新URL。 enter image description here

home.routes.ts文件:

export const HomeRoutes: RouterConfig = [ 
{ path: '', component: HomeComponent }, 
{ path: 'home', component: HomeComponent }, 
{ path: 'search', component: SearchComponent }, 
{path:'search/:searchId',component:SearchListingComponent}, 
{ path: 'listing/:id', component: ListingPageComponent} 
    ] 

app.routes.ts文件:

export const routes: RouterConfig = [ 
...HomeRoutes, 
...UserRoutes, 
...ProfileRoutes, 
...LandownerRoutes 
    ]; 
    export const APP_ROUTER_PROVIDERS = [ 
provideRouter(routes), 
AUTH_PROVIDERS 
     ]; 

回答

0

您应该使用路由器来导航

//in header component 
    constructor(private router:Router){} 
    goToSearch(searchId: string): void{ 
    this.router.navigate(['/search',searchId]);} 
+0

我这样做,但我有记录错误消息说**错误:无法找到主要插座加载'SearchComponent'** – kero

+0

我假设你想要更换主页路线。您需要在app.routes.ts中定义此路线。你可以详细说明: –

+0

'export const HomeRoutes:RouterConfig = {{'path,'search',component:path'',component:HomeComponent}, {path:'home',component:HomeComponent}, { SearchComponent}, {path:'search /:searchId',component:SearchListingComponent}, {path:'listing /:id',component:ListingPageComponent} – kero