其实就是有path则param不生效 或者用query或者直接路径跟上参数 或者name跟paramy一起
另外 query浏览器地址栏会看到参数 param则看不到
刷新的话query不会丢参 param会的
router.push({ name: 'user', params: { userId: '123' }})
router.push({ name: 'user', params: { userId: '123' }})
router.push({ path: 'register', query: { plan: 'private' }})
router.push({ path: 'register', query: { plan: 'private' }})
注意:如果提供了 path
,params
会被忽略,上述例子中的 query
并不属于这种情况。取而代之的是下面例子的做法,你需要提供路由的 name
或手写完整的带有参数的 path
:
const userId = '123'
router.push({ name: 'user', params: { userId }}) // -> /user/123
router.push({ path: `/user/${userId}` }) // -> /user/123
//有了path 则要么用query 要么直接带上完整参数
// 这里的 params 不生效
router.push({ path: '/user', params: { userId }}) // -> /user