首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >配置角以忽略URL中的#?

配置角以忽略URL中的#?
EN

Stack Overflow用户
提问于 2022-05-02 14:54:09
回答 1查看 258关注 0票数 0

我有一些在我的应用程序中需要支持的旧URL,其中包括一个#,例如http://localhost:4200/#/result/1234

我已设置下列重定向路线:

{ path: 'result/:id', pathMatch: 'full', redirectTo: 'new-result/:id' }

当URL不包含#:,例如http://localhost:4200/result/1234时,它工作得很好。

但是当URL包含一个#时,路由就不匹配了,它只是重定向到默认路由,例如http://localhost:4200/#/result/1234

对于如何自动设置我的角度应用程序,以便在进行路由匹配之前将http://localhost:4200/#/result/1234转换为http://localhost:4200/result/1234,有什么想法吗?

我用的是角版13。

谢谢!

EN

Stack Overflow用户

发布于 2022-05-03 11:58:51

通过订阅app组件(app-component.ts)构造函数中的路由事件,我就能够做到这一点:

代码语言:javascript
运行
复制
this.router.events.subscribe((event: Event) => {
    if (event instanceof NavigationStart) {
      let url = event.url;
      if (url.includes('/#/result')) {
        let urlSplit = url.split('/');
        this.router.navigate(['result', url.split('/')[3]]);
      }
    }
});
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72088496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档