在 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>
2. 通过 querySelector
querySelector
方法可以根据 CSS 选择器获取 DOM 元素。
<code class="javascript">// 组件中
const myDiv = this.$el.querySelector('div');
// DOM 元素
const myDiv = document.querySelector('div');
3. 通过 getBoundingClientRect
getBoundingClientRect
方法返回一个包含 DOM 元素边界矩形信息的 DOMRect 对象。
<code class="javascript">// 组件中
const rect = this.$el.getBoundingClientRect();
// DOM 元素
const rect = document.myDiv.getBoundingClientRect();
4. 通过 event.target
当事件发生时,event.target
属性包含触发事件的 DOM 元素。
<code class="javascript">// 在事件处理函数中
const target = event.target;
根据具体情况,可以根据上述方法选择最合适的方法来获取 DOM 元素。