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