【问题标题】:is there a way to route to all urls in a folder using Angular routing?有没有办法使用Angular路由路由到文件夹中的所有url?
【发布时间】:2020-08-04 14:40:42
【问题描述】:

我有一个项目,我需要将所有文件夹/子文件夹 url 路由到特定页面。

例如,让我们这样做:

const appRoutes: Routes = [
    {
        path: 'main/sub/page-no-seven-or-something/index',
        redirectTo: 'mainpage',
        pathMatch: 'full'
    }
];

如果我想将所有main/sub/* 的所有内容重定向到主页呢?

我已经查看了 Angular 文档

我已经尝试过他们的通配符path: 'main/sub/**' 这不起作用,除非将其用作全部path: '**'

当然path: '*' 也不起作用。

我必须使用全部捕获还是有办法将所有内容从main/sub 路由到主页?

为任何可能的动态 ip 添加所有路由似乎很痛苦。我不想添加 200 条路线。

谢谢

【问题讨论】:

  • 您是否考虑过实施自定义pathMatcher?此外,最好创建一个 StackBlitz 演示,以便其他人可以尝试解决方案。

标签: angular routes


【解决方案1】:

将pathMatch 与prefix 一起使用:

const appRoutes: Routes = [{
    path: 'main/sub',
    redirectTo: '/mainpage',
    pathMatch: 'prefix'
}];

【讨论】:

  • 有趣的是我已经尝试过这个,因为找到pathMatch 参数的选项可以是full 或prefix。出于某种原因,它在我的应用程序中不起作用。有什么建议吗?
  • 嗯,sub 后面的最后一个斜线可能不应该在那里? :-/
  • 我已经修复了斜线。 redirectTo 必须以斜线开头,因此它被解释为绝对路径。这适用于我的机器;)
猜你喜欢
  • 2019-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-01
  • 2016-07-08
  • 2011-10-22
相关资源
最近更新 更多