# 使用 ref 直接访问元素
有时你需要直接访问一个 DOM 元素,你可以使用 ref 直接访问元素,而不需要使用 querySelector 或者其它选择 DOM 节点的原生方法。
使用 ref 访问一个元素,只需要将这个元素的 ref 属性设置为字符串,然后可以使用这个字符串访问元素:
<div id="app" v-cloak>
<h3 ref="test" v-on:click="clickHandler">hello world</h3>
</div>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script>
<script>
const vm = new Vue({
el: '#app',
data() {
return {};
},
methods: {
clickHandler(e) {
console.info(this.$refs.test);
}
}
});
</script>
在 JavaScript 中,<h3> 这个元素(的节点对象)会被存储到 this.$ref 这个对象中,对应的 key 就是该元素的 ref 属性的值。
this.$refs 只包含当前组件内部元素的引用,这意味着如果在组件内部调用 this.$refs.xxx,它总指向该组件内的对应的元素,而不是别的地方的元素。
『The End』