Vue3 Ref獲取真實(shí)DOM學(xué)習(xí)實(shí)戰(zhàn)
正文
在使用 Vue 、React 等MVVM框架開發(fā)項(xiàng)目時(shí),基本上很少需要直接手動(dòng)去操作 DOM 了,但是也不可避免,例如獲取元素的寬高、元素在屏幕的XY位置、DIV拖拽等等。隨著 Vue 版本的升級(jí),在 Vue3 中獲取真實(shí)DOM的方法也有了變化。

Vue3 && DOM
一、前言
ref():用于注冊(cè)元素或子組件的引用。接受一個(gè)內(nèi)部值,返回一個(gè)響應(yīng)式的、可更改的 ref 對(duì)象,此對(duì)象只有一個(gè)指向其內(nèi)部值的屬性 .value。
二、ref獲取真實(shí)DOM
- 在選項(xiàng)式 API 中
<template>
<!-- 普通元素 -->
<div ref='eleBox' class='box'></div>
<!-- 子組件 -->
<ChildComponent ref='childCom' />
</template>
<script>
export default {
components: {
ChildComponent,
},
mounted() {
let eleBox = this.$refs.eleBox
// eleBox 就是獲取的真實(shí)DOM對(duì)象,可以進(jìn)行DOM相關(guān)的操作
eleBox.style.backgroundColor = '#f0f'
// 獲取子組件實(shí)例
console.log(this.$refs.childCom)
}
}
</script>- 在組合式 API 中
<!-- 普通元素 -->
<div ref='eleBox' class='box'></div>
<!-- 子組件 -->
<ChildComponent :ref="(el) => childCom = el" />
<script setup>
import { ref } from 'vue'
let eleBox = ref()
// eleBox.value 就是獲取的真實(shí)DOM對(duì)象
eleBox.value.style.width = '200px'
let childCom = ref()
// childCom.value 就是獲取的子組件實(shí)例對(duì)象
</script>以上就是Vue3 Ref獲取真實(shí)DOM學(xué)習(xí)實(shí)戰(zhàn)的詳細(xì)內(nèi)容,更多關(guān)于Vue3 Ref獲取真實(shí)DOM的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Vue3 組合式函數(shù)Composable最佳實(shí)戰(zhàn)
- vue中this.$refs.name.offsetHeight獲取不到值問題
- vue3+ts數(shù)組去重方及reactive/ref響應(yīng)式顯示流程分析
- VueJs中的shallowRef與shallowReactive函數(shù)使用比較
- 一文搞懂VueJs中customRef函數(shù)使用
- VueJs中toRef與toRefs函數(shù)對(duì)比詳解
- Vue?2中實(shí)現(xiàn)CustomRef方式防抖節(jié)流
- Vue3組合式函數(shù)Composable實(shí)戰(zhàn)ref和unref使用
相關(guān)文章
vue+element?tree懶加載更新數(shù)據(jù)的示例代碼
這篇文章主要介紹了vue+element?tree懶加載更新數(shù)據(jù),文中給大家補(bǔ)充介紹了Vue Element Ui 樹形表懶加載新增、修改、刪除等操作后局部數(shù)據(jù)更新的詳細(xì)代碼,感興趣的朋友跟隨小編一起看看吧2022-09-09
Vue?處理異步加載順序問題之如何在Konva中確保文本在圖片之上顯示
在處理Konva中的異步加載順序問題時(shí),確保在圖像加載完成后再添加其他元素是關(guān)鍵,通過將回調(diào)函數(shù)放在imageObj.onload中,并正確處理變量捕獲,我們可以確保文本總是繪制在圖片之上,這不僅解決了顯示順序的問題,也為未來的調(diào)試提供了明確的方向,感興趣的朋友一起看看吧2024-07-07
Vue動(dòng)態(tài)構(gòu)建混合數(shù)據(jù)Treeselect選擇樹及巨樹問題的解決
這篇文章主要介紹了Vue動(dòng)態(tài)構(gòu)建混合數(shù)據(jù)Treeselect選擇樹及巨樹問題的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
vue3純前端表格數(shù)據(jù)的導(dǎo)出與導(dǎo)入實(shí)現(xiàn)方式
這篇文章主要介紹了如何在純前端環(huán)境下使用xlsx-js-style庫進(jìn)行Excel表格文件的下載,并自定義樣式,還提到了使用xlsx庫進(jìn)行Excel表格數(shù)據(jù)的導(dǎo)入,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-01-01
vue-router如何實(shí)時(shí)動(dòng)態(tài)替換路由參數(shù)(地址欄參數(shù))
這篇文章主要介紹了vue-router如何實(shí)時(shí)動(dòng)態(tài)替換路由參數(shù)(地址欄參數(shù)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09
vue 路由子組件created和mounted不起作用的解決方法
今天小編就為大家分享一篇vue 路由子組件created和mounted不起作用的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11
vue-cli2,vue-cli3,vite?生產(chǎn)環(huán)境去掉console.log
console.log一般都是在開發(fā)環(huán)境下使用的,在生產(chǎn)環(huán)境下需要去除?,本文主要介紹了vue-cli2,vue-cli3,vite?生產(chǎn)環(huán)境去掉console.log,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05

