gpt4 book ai didi

Angular2路由器保留查询字符串

转载 作者:太空狗 更新时间:2023-10-29 16:46:55 27 4
gpt4 key购买 nike

我编写了一个使用路由器的 Angular2 (v2.0.1) 应用程序。该网站加载了多个查询字符串参数,因此完整的 URL 最初如下所示:

https://my.application.com/?param1=val1&param2=val2&param3=val3

在我的路由配置中,我有一个重定向空路由的条目:

const appRoutes: Routes = [
{
path: '',
redirectTo: '/comp1',
pathMatch: 'full'
},
{
path: 'comp1',
component: FirstComponent
},
{
path: 'comp2',
component: SecondComponent
}
];

我的问题是,应用程序启动后,URL 不再包含查询参数,而是如下所示:

https://my.application.com/comp1

有什么方法可以配置路由器,使其在导航时保留初始查询字符串?

谢谢
卢卡斯

最佳答案

我认为没有办法在路由配置中定义它。

目前支持 routerLink 和命令式导航以启用

你可以在空路径路由中添加守卫,在守卫导航到 /comp1 路由的地方完成。

router.navigate(['/comp1'], { preserveQueryParams: true }); //deprecated. see update note
router.navigate(['/comp1'], { queryParamsHandling: "merge" });

有一个PR允许全局配置 preserveQueryParams

更新说明: 来自 https://angular.io/api/router/NavigationExtras , preserveQueryParams 已弃用,改用 queryParamsHandling

关于Angular2路由器保留查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39898656/

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