在 vue.js 中,可通過四種方式獲取 dom 元素:使用 ref 為組件或 dom 元素創(chuàng)建引用;通過 queryselector 根據(jù) css 選擇器獲取 dom 元素;通過 getboundingclientrect 獲取 dom 元素邊界矩形信息;通過 event.target 在事件發(fā)生時獲取觸發(fā)事件的 dom 元素。
Vue 中獲取 DOM
在 Vue.js 中,獲取 DOM 元素有幾種方法,具體取決于實際需要。
1. 通過 ref
ref 屬性為組件或 DOM 元素創(chuàng)建一個引用。在組件中,可以使用 this.$refs
訪問引用。對于 DOM 元素,可以使用 $refs
訪問 DOM 節(jié)點。
<code class="javascript">// 組件中 <template><div ref="myDiv"></div> </template><script> export default { mounted() { console.log(this.$refs.myDiv); // 獲取 myDiv DOM 節(jié)點 } } </script> // DOM 元素 <div ref="myDiv"></div> <script> console.log(document.myDiv); // 獲取 myDiv DOM 節(jié)點 </script></code>
登錄后復(fù)制
2. 通過 querySelector
querySelector
方法可以根據(jù) CSS 選擇器獲取 DOM 元素。
<code class="javascript">// 組件中 const myDiv = this.$el.querySelector('div'); // DOM 元素 const myDiv = document.querySelector('div');</code>
登錄后復(fù)制
3. 通過 getBoundingClientRect
getBoundingClientRect
方法返回一個包含 DOM 元素邊界矩形信息的 DOMRect 對象。
<code class="javascript">// 組件中 const rect = this.$el.getBoundingClientRect(); // DOM 元素 const rect = document.myDiv.getBoundingClientRect();</code>
登錄后復(fù)制
4. 通過 event.target
當事件發(fā)生時,event.target
屬性包含觸發(fā)事件的 DOM 元素。
<code class="javascript">// 在事件處理函數(shù)中 const target = event.target;</code>
登錄后復(fù)制
根據(jù)具體情況,可以根據(jù)上述方法選擇最合適的方法來獲取 DOM 元素。