我在 app-routing.module.ts
中有这个路由重定向:
{ path: '', redirectTo: '/home', pathMatch: 'full' }
假设我有 index.html
这条线 <base href="/mysite">
里面<head>
并使用 URL example.com/mysite?kiosk=true
访问该站点.
如何保留查询参数 kiosk=true
通过上面的重定向?
我可以用这段代码在 app.component.ts
中获取查询参数,但只有上面的路由重定向被注释掉时:
ngOnInit(): void {
this.route.queryParams.first().subscribe((params: Params) => {
console.log(params);
});
}
如何让它与上述未注释掉的重定向一起工作?
有没有一种简单的方法可以全局设置“始终保留查询参数”,或者我是否必须在内部做一些 hack app.component.js
获取查询参数,然后仅当路径为空时才重定向到“/home”?
最佳答案
您可以使用代码导航 { queryParamsHandling: 'preserve' }
。对于 DOM 导航,使用 queryParamsHandling="preserve"
Angular 4 及以上。否则,使用代码中的 { preserveQueryparams: true }
和 DOM 中的 [preserveQueryParams]="true"
关于angular - 在 Angular 4 中,如何在重定向路由中保留查询参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44145970/