【问题标题】:How do I pass multiple required routes in Angular?如何在 Angular 中传递多个必需的路由?
【发布时间】:2021-02-16 19:20:39
【问题描述】:

我看到了几个 Stack Overflow 问题,它们似乎在问类似的 [问题][1],但它们都不起作用,所以我想我会更明确地问。

我正在尝试传递多个必需的参数,以便我的 URL 返回

myURL/cohort-features/configuration-manager?template=myTemplate

在我的组件中,我正在传递

 this.router.navigate(['/cohort-features', '/configuration-manager'], { queryParams: { template: template.key } })

问题是 Angular 忽略了第一组括号并且只是返回

myURL/configuration-manager?template=myTemplate

不清楚为什么它忽略了第一组括号。我也尝试将 url 作为一个字符串 '/cohort-features/configuration-manager'/ 传递,但我仍然遇到同样的问题。

我做错了什么?如何返回两个字符串? [1]:passing multiple params in route angular 4

【问题讨论】:

    标签: angular typescript routes


    【解决方案1】:

    第二个 router.navigate 路径不应以“/”开头:

    this.router.navigate(['/cohort-features', 'configuration-manager'],

    更多信息:https://www.tektutorialshub.com/angular/angular-navigating-between-routes/

    P.S 路由到绝对路径和相对路径很棘手,sintax 也让我有点困惑 ;-)

    【讨论】:

    • 感谢您的回答,但删除反斜杠似乎没有什么不同。
    • 我认为这是一条绝对路径,否则您还必须删除第一个路径中的“/”并使用 relativeTo - angular.io/api/router/Router#navigate
    • 另一种可能是您的路由模块中配置了一个路由,导致您的导航重定向。检查您的路由配置并重定向以防万一。还要确保如果您直接在浏览器中输入您的路线,它可以工作。这些是路由问题的常见嫌疑人,呵呵
    • 似乎都不是这样。不过,我感谢您的尝试。
    • 我的配置有问题。在我的路由模块中。我必须将它作为字符串传递。
    猜你喜欢
    • 2020-07-04
    • 1970-01-01
    • 2016-09-21
    • 2019-11-22
    • 2020-11-28
    • 2019-03-17
    • 2021-09-12
    • 1970-01-01
    • 2021-01-04
    相关资源
    最近更新 更多