在访问Angular 2应用的路由时,如何在URL中保留查询字符串参数
How to keep query string parameters in URL when accessing a route of an Angular 2 app?
我有一个运行最新alpha(37)的Angular 2测试应用。只有三条路由,像这样:
@RouteConfig([
{ path: '/', component: Home, as: 'home' },
{ path: '/errors', component: Errors, as: 'errors' },
{ path: '/about', component: About, as: 'about' }
])
我可以访问路由,当我在URL中放置查询字符串参数时,我可以很好地读取它们。然而,在我读取参数后的几秒钟,我注意到路由加载良好,URL刷新,删除查询字符串参数。
也就是说,访问这个路由:
http://localhost: 5555/错误吗?abc
加载/errors
路由,但在应用程序加载后,URL变成:
http://localhost: 5555/错误
这会让用户感到困惑。我想在URL中保留查询字符串参数。
我知道,它还在测试阶段,但这是一个bug还是我忘了在路由器上设置什么?如何在URL中保留任何查询字符串参数?
谢谢!
在Alpha 41中修复。查询字符串现在被持久化。
为Angular 2更新:
要保留当前url中存在的查询参数,请添加
// import NavigationExtras
import { NavigationExtras } from '@angular/router';
// Set our navigation extras object
// that contains our global query params
let navigationExtras: NavigationExtras = {
preserveQueryParams: true
};
// Navigate to the login page with extras
this.router.navigate(['/someLink'], navigationExtras);
>
试试这个this.router。['target'], {preserveQueryParams: true});
相关文章:
- 获取/保留上一页's具有SmoothState的URL
- 如何在从剃刀视图移动内联JavaScript时保留相对URL
- php get_contents-保留源文件的原始url
- 更改URL并保留“更改”事件下拉列表中的值
- 如果可能的话,刷新后保留iframe url
- 通过 CAS 登录保留 URL 片段
- 缩短 URL 以保留开头和结尾(Firebug “Net” 面板样式)
- 使用 $location 手动更改 URL 时保留上一页
- 传递url时保留原始反斜杠的问题
- goBack按钮,同时使用react路由器保留url状态
- 防止浏览器在重新加载父级时保留iframe url
- 如何在使用 GET 方法发送 url 时保留文本区域输入中的文本段落
- 如何执行Javascript重定向url与保留url参数
- 先前的状态视图不会保留在带有自定义模态url的打开UI引导模态的后台
- 在访问Angular 2应用的路由时,如何在URL中保留查询字符串参数
- 使用jQuery筛选复选框-保留URL中的选择
- 删除url的部分,只保留文件名
- 如何在跟踪链接时保留URL查询参数
- 当我推送一个新的URL到主干.历史记录,查询参数保留
- Javascript代码检查URL内容,只保留一件事