我使用角度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”默认为。 有没有办法在子组件中定义默认路由。
答案 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}