gpt4 book ai didi

Angular 4 路由 - redirectTo 与 skipLocationChange

转载 作者:太空狗 更新时间:2023-10-29 17:18:36 25 4
gpt4 key购买 nike

我有一些路由模块,其主要路径设置为:/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})?

最佳答案

我已经通过订阅 AppComponent 中的 router.events 并使用 手动导航到 canvas 路径解决了这个问题skipLocationChange 设置为 true。

@Component({
...
})
export class AppComponent {
constructor(private router: Router) {
this.router.events.subscribe(routerEvent => {
if (routerEvent instanceof NavigationStart) {
if (routerEvent.url == "/") {
this.router.navigate(["canvas"], {skipLocationChange: true})
}
}
});
}
}

关于Angular 4 路由 - redirectTo 与 skipLocationChange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44109731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com