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

时间:2017-05-23 22:19:38

标签: angular

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

{ path: '', redirectTo: '/home', pathMatch: 'full' }

我们假设我index.html位于<base href="/mysite"><head>,并且网址是example.com/mysite?kiosk=true访问的网站。

如何通过上面的重定向保留查询参数kiosk=true

我可以在app.component.ts内使用此代码获取查询参数,但是当上面的路由重定向被注释掉时,只能

ngOnInit(): void {
    this.route.queryParams.first().subscribe((params: Params) => {
        console.log(params);
    });
}

如何使用以上重定向未注释? 是否有一种简单的方法可以全局设置“始终保留查询参数”,或者我必须在获取查询参数的app.component.js内进行一些黑客操作,然后仅在路径为空时重定向到“/ home”? p>

1 个答案:

答案 0 :(得分:-1)

您可以使用代码导航{ queryParamsHandling: 'preserve' }。对于DOM导航,使用queryParamsHandling="preserve"表示角度4及以上。另外,请使用代码中的{ preserveQueryparams: true }和DOM中的[preserveQueryParams]="true"