ref を通じて要素ノードを取得する vue2 では、js ネイティブの document.getElementById("#id") 操作を簡略化すると言えます。もちろん、vue3 でも同様です。
まず、取得したい要素に ref 属性を与えます。
次に、ref オブジェクトを作成し、その後、彼の値にアクセスできるようになります。
しかし。これにはセットアップでアクセスできますが、直接出力される値は null です...
セットアップ関数の実行時間は HTML タグのレンダリングよりも前でなければならないため、セットアップ関数でボックスタグを直接初期化することはできません。
#ライフサイクル関数では、beforeCreateとCreatedの間にsetup関数が実行されます#初期化などの操作がある場合は、ライフサイクル関数でonMountedを借用する必要があります
この方法でアクセスできます
ref 要素を取得するいくつかの方法のまとめ
document.querySelector(选择器) document.getElementById(id选择器) document.getElementsByClassName(class选择器)
<template> <div ref='divDom'></div> </template> <script setup> import { ref} from 'vue' const divDom = ref(null); onMounted(()=>{ console.log('获取dom元素',divDom) })
<template> <div ref='getDivDom' v-for="item in list" :data-id="item.id"></div> </template> <script setup> import { ref} from 'vue' const divDomList = ref(new Map()); const getDivDom = el=>{ if(el){ divDomList.set(el.dataset['id'],el) } } // const el =divDomList.get(id) // 根据list数据中的id值 获取对应的dom元素
<template> <swiper @swiper='getSwiper'></swiper > </template> <script setup> import swiper from 'swiper' import { ref} from 'vue' const swiperDom= ref(null); const getSwiper= el=>{ swiperDom.value = el; }
以上がvue3のrefを通じて要素ノードを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。