我在路由器中有关注者
const routes: Routes = [
{
path: "",
component: demo1Component,
canActivate: [AuthGuard]
},
{
path: "demo2",
component: demo2Component,
children: [
{
path: ':id', component: demo2Component}
],
canActivate: [AuthGuard]
},
{
path: "demo3",
component: demo3Component
,canActivate: [AuthGuard],
},
];
我想重定向任何东西
demo2/1/url/hi
demo2/100/temp/h2
demo2/2300/hello/demo
到相同的demo2Component。我该如何实现,而不是显式编写所有内容?
来自,禅
我建议您使用角度路由器的matcher
功能。您可以在routing.module
:]中执行类似的操作
matcher: (segments) => { if (Array.isArray(segments)) { const posParams = segments.reduce((prev, current, index) => { prev['cat' + index] = current; return prev; }, {}); return { consumed: segments, posParams }; } return null; }
使用上面的代码,您将从URL中的所有段收集到一个数组中。您可以继续进行操作,并在解析器中处理这些信息,然后使用它进行所需的操作。