ルートのパスでパラメーターまたはクエリとして登録されていない追加データを$router.Push()
に渡す方法はありますか?これにより、URLを介して渡す方法がないため、プログラムによるナビゲーションを介してアクセスされたことを次のページで認識できます。何かのようなもの:
this.$router.Push({
path: '/next-page',
params: {...},
query: {...},
moreData: {foo: 1}
})
そして/next-page
:
this.$route.moreData.foo // 1
現在、moreData
を処理するために$store
を使用しています
私は解決策を見つけました。 Vue-router docs にNoteがあります:
注:
params
が指定されている場合、path
は無視されます...代わりに、name
を指定する必要があります
したがって、次のようにルートのparams
を使用してナビゲートすると、カスタムデータをname
に渡すことができます。
$router.Push({name: 'next-page', params: {foo: 1}})
// in /next-page
$route.params.foo // 1