如何在角度中重定向任何嵌套的 url 同一组件



>我在路由器中有以下内容

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

到相同的演示2组件。我怎样才能实现这一目标,而不是明确地编写所有内容?

从 禅

我建议您使用角度路由器中的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 中的所有段。您可以继续在解析器中处理这些信息,并对其进行操作。

最新更新