vue.js + nuxt.jsで作った このblog(実はつい最近hugoから変更しました)のtagページで タグ一覧からそのセクションへのページ内ジャンプを実現するために vue-schrollto を入れてみた。
もともとのタグ一覧の生成コードはこんな感じ:
<div v-for="tag in tags" :key="tag">
#{{ tag }},
</div>
これを v-scroll-to
でジャンプできるように変えてみた:
<template v-for="tag in tags">
<nuxt-link :key="tag" :v-scroll-to="'\#' + tag + '\''" to>
#{{ tag }}
</nuxt-link>
,
</template>
よさそうなんだけどこれでは動かないことが判明。 どうもv-scroll-to
はbindができない。真にリテラルしか受け付けないようだ。 ということで正解はこうだった。
<template v-for="tag in tags">
<nuxt-link :key="tag" v-scroll-to="`#${tag}`" to>
#{{ tag }}
</nuxt-link>
,
</template>
これでスルスル動くようになった。