<nuxt-link> でパラメータを渡す
備忘録。
Nuxt.js の <nuxt-link> の使い方。
Nuxt.js アプリケーション内のページ遷移では <nuxt-link> を使うことが推奨されている。
<nuxt-link> は Vue Router <router-link> を拡張している。
例えば以下のようなページ構成を考える。
pages ├── admin.vue └── index.vue
index.vue では /admin へのリンクを次のように記述できる
<nuxt-link to="/admin">Admin</nuxt-link> <nuxt-link :to="{ path: '/admin' }">Admin</nuxt-link> <nuxt-link :to="{ name: 'admin' }">Admin</nuxt-link>
さて admin.vue でなんらかのデータをリンク元から受け取りたい場合について考える。
<nuxt-link> はオプションで params に値を渡すことができる。
<nuxt-link :to="{ name: 'admin', params: { message: 'hello' } }">
この例では message として 'hello' を渡している。なおリンク先の指定に path ではなく name を使っていることに注意。(path を使う場合、params は無視される)
admin.vue では asyncData の引数に渡されるコンテキスト経由で params を取り出せる。
{
async asyncData({ params }): {
doSomething(params.message)
}
}