<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) } }