如何在Angular2 CLI中声明默认路由?

时间:2016-06-30 09:28:52

标签: angular routing routes angular2-cli

我使用角度CLI创建了一个小项目,但我不知道如何在CLI中声明默认路由。我使用'/'作为父组件,它可以工作,但如果我使用'/'作为子组件它不起作用。

我的 parent.component.ts 是:

@Routes([
  { path: '/', component: LoginComponent },
])   

parent.component.html 是:

<a [routerLink]="['/Login']"></a>
<router-outlet></router-outlet>

child.component.ts 是:

@Routes([
    { path: '/', component: DashboardComponent},
])

child.component.html 是:

<li class="treeview">
    <a [routerLink]="['']">Dashboard</a>
</li>
<router-outlet></router-outlet>

此方法适用于父级和子级,但我想要一条带有其他路径的路由,例如“/ dashboard”默认为。 有没有办法在子组件中定义默认路由。

2 个答案:

答案 0 :(得分:2)

我想你必须尝试这个: -

export const HomeRoutes: RouterConfig = [
    { path: '', redirectTo: '/home', terminal: true},
    { path: 'home', component: HomeComponent, terminal: true }
];

PS: - 未经测试 Credit to this answer

更新

你也可以尝试两次定义你的路线: -

{ path: '/', component: HomeComponent}
{ path: 'home', component: HomeComponent}

通过这样做,默认以及相同组件的命名路由器。

希望可以帮助你。

答案 1 :(得分:1)

将此选项放入路线配置

{ ...,  terminal: true}