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

标签 angular

我在 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/

相关文章:

Angular/AWS Cognito 用户登录错误 - 类型 'refresh' 上不存在属性 'credentials'

javascript - 链接两个 observable http 和存储

Angular 2 Material 垫片尺寸

angular - 在 Primeng 的表格中使用复选框时会自动选择所有行

Angular 可观察属性 - 最佳实践

react 形式的 Angular Testing 提交事件

java - 如何告诉 gradle 在构建时在项目中安装 npm?

javascript - 当 id 和 for 属性绑定(bind)时,标签上的属性不与点击时的关联输入交互

html - 更改特定数据的颜色

Angular 9 : SCSS Import from fonts. google.com 在生产模式下不工作