在Angular 4中,如何在重定向的路由中保留查询参数?

Jer*_*ins 7 angular

我有这个路由重定向app-routing.module.ts:

{ path: '', redirectTo: '/home', pathMatch: 'full' }
Run Code Online (Sandbox Code Playgroud)

假设我有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);
    });
}
Run Code Online (Sandbox Code Playgroud)

如何让它与上面的重定向一起使用NOT注释掉?是否有一种简单的方法可以全局设置"始终保留查询参数",或者我是否必须在内部app.component.js进行查询参数,然后仅在路径为空时重定向到"/ home"?

小智 -1

您可以用于代码导航{ queryParamsHandling: 'preserve' }。对于 DOM nav,用于queryParamsHandling="preserve"Angular 4 及更高版本。否则,请{ preserveQueryparams: true }从代码和[preserveQueryParams]="true"DOM 中使用

  • 是的,但是如何在重定向中做到这一点呢? (3认同)