vue操作dom元素的3種方法示例


1.原生js操作dom

const dom = getElementById('box')

2.vue官方方法:ref

組件 ref

<div class="set" ref="up">

該元素是我們要操作的dom對象,它的ref是 up

@click="Alert"

給元素一個點擊事件,編寫對應的方法部分代碼

  this.$refs.up.style.display = "block";

注意:如果要操作的元素是處於 隱藏和顯示 狀態中,此時多次操作refs可能會導致獲取到的元素為空,這是因為 $refs 只會在組件渲染完成之后生效, ref 本身作為渲染結果被創建,在初始渲染的時候不能訪問他們,是不存在的。並且它們不是響應式的,所有的動態加載的模板更新它都無法相應的變化。只在組件渲染完成后才填充,用於元素或子組件注冊引用信息,注冊完成,將會注冊在父組件 $refs 對象上。時常隱藏和顯示元素操作會導致在渲染完成前獲取元素時為空報錯。

3.jQuery操作dom

只要拿jQuery的選擇器,選中相應的dom進行操作就可以了,但是大家都知道jQuery獲取元素是查找頁面所有,相當於“循環”所有元素直至找到需要的dom,但是vue是單頁面的,jQuery獲取dom並不只是獲取vue當前頁面,而是從根路由開始查找所有,當其他頁面出現相同的元素,也會被獲取到,而且jQuery操作的dom,如果是根據動態獲取數據渲染的,那么寫在mounted里的操作方法將會失效,必須放到updated里,這樣會導致有些操作被執行多遍,所以還是不建議在vue中使用jQuery。

可參考文獻地址:
vue中ref的使用(this.$refs獲取為空)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM