this.$refs在vue3中用什么代替
时间: 2024-06-15 09:08:34 浏览: 147
在Vue 3中,`this.$refs`被废弃了,不再推荐使用。取而代之的是使用`ref`函数和`ref`属性来获取DOM元素或组件实例的引用。
具体用法如下:
1. 在模板中,可以使用`ref`属性给DOM元素或组件添加一个引用名字:
```html
<template>
<div ref="myDiv">Hello, World!</div>
</template>
```
2. 在组件的`setup`函数中,使用`ref`函数创建一个响应式的引用,并将其绑定到模板中的引用名字上:
```javascript
<script>
import { ref } from 'vue';
export default {
setup() {
const myDivRef = ref(null); // 创建一个初始值为null的引用
// 在需要的时候,可以通过myDivRef.value来访问引用的值
// 例如,可以在mounted钩子函数中获取DOM元素的引用
const mounted = () => {
console.log(myDivRef.value); // 输出DOM元素
};
return {
myDivRef,
mounted
};
}
};
</script>
```
3. 在模板中,可以通过`myDivRef`来访问引用的值:
```html
<template>
<div ref="myDiv">Hello, World!</div>
<button @click="mounted">Get Ref Value</button>
</template>
```
阅读全文