2016-09-30 41 views
1

我试图让我的应用程序下面的网址回应:必须多次声明angular2路线?

/agent 
/agent/login 
/agent/travel 

我能得到它,如果我使用下面的路线声明(在一个单一的文件)的工作:

{ path: 'agent', component: AgentPage }, 
{ 
    path: 'agent', component: AgentPage, 
    children: [ 
    { path: 'login', component: AgentLogin }, 
    { path: 'travel', component: AgentTravel } 
    ] 
}, 
{ path: '', component: AgentPage }, 
{ path: '**', component: NoContent } 

如果我删除第一路由定义/代理停止工作,我打了NoContent组件...

这是我agentPage.template.html:

<div>agentPage</div> 
<router-outlet></router-outlet> 

我真的不明白,为什么我需要从孩子分开两个相同的声明,并希望能够在一个更干净的方式运行(即W/O第一路由定义)

有人能向我澄清这一点?

TIA

回答

0

您是否尝试将空路径作为第一个孩子?

{ 
    path: 'agent', component: AgentPage, 
    children: [ 
     { path: '', component: AgentPage } 
     ... 
    ] 
} 
+0

是的,我做了,但后来我得到了我的agentPage.template.html两次显示 - 将更新问题 – CJe