gpt4 book ai didi

angular - 默认情况下,如何在所有路由上保持 angular 5 中的查询参数?

转载 作者:太空狗 更新时间:2023-10-29 17:19:21 24 4
gpt4 key购买 nike

背景:

用户使用参数调用应用程序的 url 并使用我的应用程序。在不同路由之间切换时,url 参数应在浏览器的地址栏中保持可见。


我必须在我的应用程序的每个路由上保留查询参数。这意味着如果我有 url

www.example.com/app/test?id=326748798342&state=1

并使用 [routerLink]="['/login']" 调用一个链接,我必须得到这个 url:

www.example.com/app/login?id=326748798342&state=1

在默认情况下,我得到没有参数的登录路由。我找到了一个解决方案,上面写着设置 queryParamsHandling='merge'。但这是一个非常糟糕的解决方案,因为这意味着更改模板中的所有链接和所有 navigate() 调用。

是否有更简洁的方法来默认解决此问题?在应用程序的路由数组中设置 queryParamsHandling 之类的东西还是其他东西?

最佳答案

目前无法全局设置。使用 queryParamsHandling 似乎是唯一的选择:

<a [routerLink]="['/login']" queryParamsHandling="preserve"></a>

或者使用路由器时:

router.navigate('/login', { queryParamsHandling: "preserve" })

queryParamsHandling 的另一个可能选项是merge

关于angular - 默认情况下,如何在所有路由上保持 angular 5 中的查询参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47995412/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com