vue獲取dom元素注意事項(xiàng)
mounted(){ setTimeout(()=>{ this.contentToggle(); },1000) }, methods:{ contentToggle(){ console.log(this.$refs.bodyFont.offsetHeight); } }
vue想要獲取dom元素的高,一般情況下我們都可以想到寫在mounted函數(shù)里,即dom加載完再獲取,但是結(jié)果并不如我們所想,又想到用一個(gè)
this.$nextTick(()=>{ //函數(shù) })
來(lái)獲取,發(fā)現(xiàn)根本沒(méi)用啊/。。
所以好的辦法就是用一個(gè)setTimeout定時(shí)器,時(shí)間可以設(shè)為0,但是有時(shí)候生效,有時(shí)候不生效,還是加一個(gè)小的時(shí)間值比較保險(xiǎn),這樣就可以保證獲取到的一定是dom加載后的了,該原理適用于vue中很多傳值的問(wèn)題,剛開(kāi)始獲取不到傳過(guò)來(lái)的值,用一個(gè)setTimeout就可。
ps:VUE獲取DOM元素內(nèi)容
通過(guò)ref來(lái)獲取dom元素
在vue官網(wǎng)上對(duì)ref的解釋
ref 被用來(lái)給元素或子組件注冊(cè)引用信息。引用信息將會(huì)注冊(cè)在父組件的 $refs 對(duì)象上。如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素; 如果用在子組件上,引用就指向組件實(shí)例
當(dāng) v-for 用于元素或組件的時(shí)候,引用信息將是包含 DOM 節(jié)點(diǎn)或組件實(shí)例的數(shù)組
比如我現(xiàn)在要實(shí)現(xiàn)的效果是點(diǎn)擊用v-for生成的li ,獲取到該元素的值
首先要獲取當(dāng)前點(diǎn)擊的li元素,我們要做的是
1.給dom添加點(diǎn)擊事件和ref屬性
<li class="sidebar-list" v-for="(item, index) in meunList" @click="setPageMenu(index)" ref="menuItem"> <router-link class="sidebar-a" :to="{ path: item.listLink }" >{{item.listTitle}}</router-link> </li>
2.然后在點(diǎn)擊事件方法中使用ref
setPageMenu(index) { //這個(gè)是獲取當(dāng)前menuItem值,用index來(lái)區(qū)分當(dāng)前元素是v-for 產(chǎn)生的數(shù)組中的第幾個(gè)數(shù) let getMenuText = this.$refs.menuItem[index].innerText; }
總結(jié)
以上所述是小編給大家介紹的vue獲取dom元素注意事項(xiàng),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
vue中三種插槽(默認(rèn)插槽/具名插槽/作用域插槽)的區(qū)別詳解
默認(rèn)插槽,具名插槽,作用域插槽是vue中常用的三個(gè)插槽,這篇文章主要為大家介紹了這三種插槽的使用與區(qū)別,感興趣的小伙伴可以了解一下2023-08-08Vue3中v-if和v-for優(yōu)先級(jí)實(shí)例詳解
Vue.js中使用最多的兩個(gè)指令就是v-if和v-for,下面這篇文章主要給大家介紹了關(guān)于Vue3中v-if和v-for優(yōu)先級(jí)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09vue v-on:click傳遞動(dòng)態(tài)參數(shù)的步驟
這篇文章主要介紹了vue v-on:click傳遞動(dòng)態(tài)參數(shù)的步驟,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09vue 使用微信jssdk,調(diào)用微信相冊(cè)上傳圖片功能
這篇文章主要介紹了vue 使用微信jssdk,調(diào)用微信相冊(cè)上傳圖片功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11vue中的非父子間的通訊問(wèn)題簡(jiǎn)單的實(shí)例代碼
這篇文章主要介紹了vue中的非父子間的通訊問(wèn)題簡(jiǎn)單的實(shí)例代碼,需要的朋友可以參考下2017-07-07vue el-select與el-tree實(shí)現(xiàn)支持可搜索樹(shù)型
本文主要介紹了vue el-select與el-tree實(shí)現(xiàn)支持可搜索樹(shù)型,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08