在4.1.4的版本中,已经不支持以下形式传递参数
router.push({ name: 'somewhere', params: { oops: 'any' } })
这种方式在某些情况下是有效的,但多年来一直被建议不要这样做,因为它是路由中的反模式,原因有很多,其中一个原因是重新加载页面时丢失了参数。
替代方案
个人推荐比较优雅的替代方案是使用history.state 进行传递,刷新页面也不会丢失参数
router.push({name: 'somewhere', state: {username: JSON.stringify(obj)})
// 获取
const username = JSON.parse(history.state.username)