vue-router 后退了params的参数没了?

RT
url: /1111
params原有 { name: 'xxx', id: 1111 }
在浏览器后退或刷新了,params的参数没了name,只有url中的id

clipboard.png

----更新下另外个问题----

页面正常params

{ "cur": "762da43e8d634454a60bb2ee040c1a5b", "curName": "156423", "ref": "", "refName": "" }

刷新后的params

{ "cur": "7", "curName": "62da43e8d634454a60bb2ee040c1a5b156423", "ref": "", "refName": "" }

仔细观察,刷新后的params,curName和cur混合了

clipboard.png

这是啥情况?

阅读 7.5k
3 个回答

params的参数需要跟url匹配,否则刷新后就会丢失

router: [
    { name: 'list', path: '/list/:listId', component: list },
    { name: 'son', path: '/list/:listId/son/:sonId', component: list }
]

在要link去son的页面,设置为son即可
在son页面即可获取到list和son的各自参数

实现于面包屑

试试将参数都跟在url后面.
或者使用localStorage存储一下参数,在后退或刷新的时候再取出来

你用的是不是history模式?

更新,我的例子:

  1. 前面三个是直接访问的,最后一个是第三个后退的,刷新也是一样的结果,参数可以正常保留

  2. 我说的动态的url,指的是由服务端控制的路由;这个index.html就是一个静态网页,所以hash模式不会对其他url产生影响

图片描述
图片描述
图片描述
图片描述

代码:

图片描述

图片描述

图片描述

图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题