単純にページ内遷移をVue3で行いたいです。
プラグインを使えば簡単かと思いますが、ちゃんと動作を理解しておきたくて・・
vue
1<template> 2 <div ref="root"></div> 3</template> 4 5<script> 6import { defineComponent , ref } from "vue"; 7・省略・ 8export default defineComponent({ 9setup(){ 10 const root = ref(null); 11 12 onMounted(()=>{ 13 console.log(root.value); 14 }); 15 return { 16 root, 17 } 18} 19}); 20</script>
手打ちしたのでミスってたらごめんなさい。
かなり端折ってますがこんな感じのコードです。
実際にやりたい動作はサイドバーのコンポーネントがあり、どのページからでもそのリンクをクリックした際に該当ページへ遷移後、ページ内のアンカーへ飛ばしたい(スクロールさせたい)というありがちな話です。
onMountedでroot.valueをconsoleするとdivが入ってるのは確認できます。
しかしスクロールさせたいが為に、そこから画面上部からのY座標取得とかをやろうと思ってもrootをどう扱っていいのかわかりません。
そのままoffsetTopとかもエラーになるので取れないようですし、どう書いたら良いでしょうか?
Vue2系の物で$refはさすがに多くの情報がみつかりますが、Vue3でrefをどうしていいのか手詰まりしてしまいました・・
よろしくお願いいたします。
あなたの回答
tips
プレビュー