闇鍋

趣味も勉強も全部ごった煮。質より量より継続重視

$route.pushでparamsを指定するときは、nameを使わないといけない

タイトル通り、$route.pushparamsを指定するときはpathではなくてnameを使わないと動かない。

よーく読むと公式ドキュメントにも書いてあった…

v3.router.vuejs.org

router.push({ name: 'user', params: { userId: '123' } })

これならparamsが付けられるけど、

router.push({ path: 'user', params: { userId: '123' } })

だとparamsは無視されるため、期待どおりには動かない。

こういうこともあるので、routeにはpathnameも設定しておいたほうが良いのかもしれない…。