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響應(yīng)式原理及其實(shí)現(xiàn)方式
Vue的響應(yīng)式原理是Vue最核心的特性之一,也是Vue能夠?yàn)殚_發(fā)者提供高效便捷的開發(fā)體驗(yàn)的重要原因之一,這篇文章主要介紹了響應(yīng)式的原理及其實(shí)現(xiàn)方式,需要詳細(xì)了解可以參考下文2023-05-05vue+vant-UI框架實(shí)現(xiàn)購(gòu)物車的復(fù)選框全選和反選功能
這篇文章主要介紹了vue+vant-UI框架實(shí)現(xiàn)購(gòu)物車的復(fù)選框全選和反選功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11使用 vue 實(shí)例更好的監(jiān)聽事件及vue實(shí)例的方法
這篇文章主要介紹了使用 vue 實(shí)例更好的監(jiān)聽事件及vue實(shí)例的方法,介紹了一種新增 vue 實(shí)例的方法,單獨(dú)監(jiān)聽事件,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04Vue-ANTD表單輸入中自定義校驗(yàn)一些正則表達(dá)式規(guī)則介紹
這篇文章主要介紹了Vue-ANTD表單輸入中自定義校驗(yàn)一些正則表達(dá)式規(guī)則介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01Vue2.0+ElementUI+PageHelper實(shí)現(xiàn)的表格分頁(yè)功能
ElementUI也是一套很不錯(cuò)的組件庫(kù),對(duì)于我們經(jīng)常用到的表格、表單、時(shí)間日期選擇器等常用組件都有著很好的封裝和接口。這篇文章主要介紹了Vue2.0+ElementUI+PageHelper實(shí)現(xiàn)的表格分頁(yè),需要的朋友可以參考下2021-10-10vue如何實(shí)現(xiàn)多組關(guān)鍵詞對(duì)應(yīng)高亮顯示
這篇文章主要介紹了vue如何實(shí)現(xiàn)多組關(guān)鍵詞對(duì)應(yīng)高亮顯示問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10Vue3項(xiàng)目中引入html頁(yè)面的方法舉例
這篇文章主要給大家介紹了關(guān)于Vue3項(xiàng)目中引入html頁(yè)面的相關(guān)資料,Vue3是一個(gè)JavaScript框架,通常我們使用它來構(gòu)建單頁(yè)應(yīng)用程序(SPA),如果你想在HTML頁(yè)面中使用Vue3,可以參考這篇文章,需要的朋友可以參考下2023-09-09