设置ActivatedRoute可检索的特定路由参数

时间:2018-05-11 17:11:40

标签: angular typescript routes

在我的应用程序中定义路由器时,我必须编写一个查询参数,然后在我的应用程序中通过调用ActivatedRoute(为了兼容性问题必须可检索参数)来解释该参数。最近,我不得不定义一些不遵循相同路由逻辑的新子路由。

// Works but no param sent when myParam is selected
{
  path: "myParam",
  component: "MyComponent"
}, {
  path: ":param",
  children: [{/* */}]
}
//...

// doesn't work when first guard isn't ok
{
path: ":param",
  component: "MyFirstComponent",
  canActivate: [myGuardService]
}, {
path: ":param",
  canActivate: [myOtherGuardService]
  children: [{/* */}]
}
//...

首先,我尝试在通用路由之前定义特定路由,但未发送参数。 然后,我尝试在同一级别上设置一个守卫,但是当第一个后卫不适用于输入时,该路线不再可访问。 这似乎很简单,但我无法找到一种方法来修复它,只需最少的代码更改 谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

最后,我将新组件重定向到我在与其他两个组件相同级别声明的新路径。这样,参数总是可以检索的。