タイトル通り、$route.push
でparams
を指定するときはpath
ではなくてname
を使わないと動かない。
よーく読むと公式ドキュメントにも書いてあった…
router.push({ name: 'user', params: { userId: '123' } })
これならparams
が付けられるけど、
router.push({ path: 'user', params: { userId: '123' } })
だとparams
は無視されるため、期待どおりには動かない。
こういうこともあるので、routeにはpath
もname
も設定しておいたほうが良いのかもしれない…。