国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

vue獲取dom元素注意事項

2024-05-06 15:23:09
字體:
來源:轉載
供稿:網友

mounted(){    setTimeout(()=>{     this.contentToggle();    },1000)  },methods:{   contentToggle(){    console.log(this.$refs.bodyFont.offsetHeight);   }  }

vue想要獲取dom元素的高,一般情況下我們都可以想到寫在mounted函數里,即dom加載完再獲取,但是結果并不如我們所想,又想到用一個

this.$nextTick(()=>{       //函數})

來獲取,發現根本沒用啊/。。

所以好的辦法就是用一個setTimeout定時器,時間可以設為0,但是有時候生效,有時候不生效,還是加一個小的時間值比較保險,這樣就可以保證獲取到的一定是dom加載后的了,該原理適用于vue中很多傳值的問題,剛開始獲取不到傳過來的值,用一個setTimeout就可。

ps:VUE獲取DOM元素內容

通過ref來獲取dom元素

在vue官網上對ref的解釋

ref 被用來給元素或子組件注冊引用信息。引用信息將會注冊在父組件的 $refs 對象上。如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素; 如果用在子組件上,引用就指向組件實例

當 v-for 用于元素或組件的時候,引用信息將是包含 DOM 節點或組件實例的數組 

比如我現在要實現的效果是點擊用v-for生成的li ,獲取到該元素的值

首先要獲取當前點擊的li元素,我們要做的是

1.給dom添加點擊事件和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.然后在點擊事件方法中使用ref

setPageMenu(index) {//這個是獲取當前menuItem值,用index來區分當前元素是v-for 產生的數組中的第幾個數  let getMenuText = this.$refs.menuItem[index].innerText;}

總結

以上所述是小編給大家介紹的vue獲取dom元素注意事項,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對錯新站長站網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 呼玛县| 澄江县| 怀集县| 姜堰市| 临颍县| 贺州市| 张家界市| 明光市| 新宁县| 荔波县| 祁连县| 临西县| 女性| 灌云县| 三都| 苏尼特左旗| 名山县| 玉田县| 永吉县| 中牟县| 长沙市| 阳朔县| 杨浦区| 伊金霍洛旗| 恩平市| 汶川县| 体育| 万盛区| 南城县| 徐汇区| 香格里拉县| 简阳市| 张掖市| 陈巴尔虎旗| 象州县| 象山县| 兴安盟| 平谷区| 江达县| 宁明县| 西乌珠穆沁旗|