😀
Nuxtで未知の動的パスはどういう名前がつくのか調べた
内容
たまに未知の動的パス(_.vue
)を使うことがあるのですが、リンクを作成する場合どうするのがいいのか分からなかったので調べました。
私が担当しているプロジェクトではnuxt-linkは基本的にnameで指定しています。
なので以下のようなファイルであった場合、
pages
|
|- hoge.vue
|- fuga
|- index.vue
|- _id.vue
以下のようにリンクを作成しています
<nuxt-link :to="{name: 'hoge'}">hoge</nuxt-link>
<nuxt-link :to="{name: 'fuga'}">fuga</nuxt-link>
<nuxt-link :to="{name: 'fuga-id', params: {id: 1}}">fuga</nuxt-link>
結果
ここで、以下のルーティングを追加することになったのですが、未知の動的ルートの場合はnameは何と書けばいいのか分からなかったので調べました。
pages
|- piyo
|- index.vue
|- _.vue
この場合、リンクは以下になります
# /piyo
<nuxt-link :to="{name: 'piyo'}">piyo</nuxt-link>
# /piyo/1/2/3
<nuxt-link :to="{name: 'piyo-all', params: { pathMatch: '/1/2/3' } }">piyo(_.vue)</nuxt-link>
-all
が末尾につけるようです。
そして、以降のパスをparams.pathMatch
に指定します。
※toに直接パスを指定した場合はVue-routerの仕様でparamsに自動でpathMatchが入ります。
Discussion