【发布时间】:2017-10-21 22:13:56
【问题描述】:
我有一些路由模块,其主路径设置为:/canvas
const canvasRoutes: Routes = [
{
path: "canvas", component: CanvasComponent
}
];
@NgModule({
imports: [
RouterModule.forChild(canvasRoutes)
],
exports: [
RouterModule
],
declarations: [],
providers: []
})
export class CanvasRoutingModule {
}
在应用程序路由模块中,我希望每次访问根路径时都将重定向路径设置为/canvas。目前配置如下:
const appRoutes: Routes = [
{
path: "", redirectTo: "/canvas", pathMatch: "full"
}
];
@NgModule({
imports: [
RouterModule.forRoot(appRoutes)
],
exports: [
RouterModule
],
declarations: [],
providers: []
})
export class AppRoutingModule {
}
它工作正常,对http://localhost:4201 的访问被重定向到http://localhost:4201/canvas。
但是,我不希望在重定向后将 /canvas 路径附加到 url。如何做到这一点?例如,有没有一种方法可以将 skipLocationChange 参数应用于此重定向,因为我将它与 router.navigate(... {skipLocationChange: true}) 一起使用?
【问题讨论】:
-
那么,您为什么要尝试重定向?这还不够用
path: "", component: CanvasComponent或path: "", component: XXX, children: [{path: "", component: CanvasComponent}]吗? -
在我看来,它的描述性不会那么清楚。在我的代码的其他一些部分,我使用
routerLink='/canvas'路由到画布组件。如果我将其更改为routerLink='',则声明将变得不清楚。