vue3如何使用ref给dom元素新添加一个class
时间: 2023-10-28 09:03:28 浏览: 90
在Vue3中,可以使用`ref`来给DOM元素添加一个新的class。在原有的Vue2中,我们通过`ref`引用DOM元素,然后通过`classList`来添加/删除class。而在Vue3中,`ref`的用法有所改变。
首先,我们需要在Vue3的setup函数中定义一个`ref`,并将它绑定到需要操作的DOM元素上。假设我们有一个<button>按钮,我们想给它添加一个新的class,可以将`ref`绑定在这个按钮上,像这样:
```
<template>
<button ref="myButton">按钮</button>
</template>
```
然后,在setup函数中,我们可以通过`ref`来获取到DOM元素的引用,然后使用`value`属性来操作它。
```
<script>
import { ref } from 'vue';
export default {
setup() {
const myButton = ref(null); // 创建一个ref并初始化为null
// 在mounted钩子函数中给DOM元素添加新class
onMounted(() => {
myButton.value.classList.add('new-class');
});
return {
myButton, // 将ref返回,使其在模板中可用
};
},
};
</script>
```
在上面的例子中,我们使用了`onMounted`钩子函数来保证当组件被挂载后,才会执行给DOM元素添加新class的操作。通过`myButton.value`能够访问到真实的DOM元素,然后使用`classList.add`方法来添加新的class。
这样,当组件被渲染并挂载后,就会自动给按钮添加一个新的class "new-class"。
阅读全文