Angular 2 路由器:将所有内容都路由到某条路由后面

Angular 2 Router: route everything behind a certain route

我们正在创建应用的新版本,需要保持旧路由正常运行。遗留 url 以特定路径进入我们的应用程序,我们称之为 legacy

因此,如果路由是 /legacy/route1,我将使用 Resolver 来处理它,以告知它在我们的应用程序中的实际位置(旧的 url 路由方案非常复杂并且需要相当多的逻辑)。但是,如果它出现在 /legacy/route1/subroute3/somethingelse 下,我想用相同的解析器处理它。

如何在我的 RouterModule 中的一行或几行中捕获所有这些路线? 我已经尝试了以下所有方法:

{ path: 'legacy', component: Legacy, resolve: [LegacyRouteResolver] },
{ path: 'legacy/', component: Legacy, resolve: [LegacyRouteResolver] },
{ path: 'legacy/*', component: Legacy, resolve: [LegacyRouteResolver] },
{ path: 'legacy/**', component: Legacy, resolve: [LegacyRouteResolver] }

但其中 none 会给我任何带有多个斜杠的路由,并且还有许多其他情况下它们会失败(octothorp 似乎也会将它们扔掉)

你可以在下面使用,

 { 
     path: 'legacy',
     children: [
        {path : '**' , component: Legacy}
     ]
  }

这将匹配legacy

之后的所有路由

希望对您有所帮助!!