<script> export default { mounted() { const divEl = this.$refs.myDiv divEl.style.backgroundColor = 'red' } } </script>改成setup
时间: 2024-02-15 07:03:11 浏览: 56
Vue 解决通过this.$refs来获取DOM或者组件报错问题
好的,那么在 `setup` 函数中,可以使用 `ref` 函数来获取页面元素。具体步骤如下:
1. 在页面元素上添加 `ref` 属性,如 `<div ref="myDiv"></div>`。
2. 在 `setup` 函数中使用 `ref` 函数来访问该元素,如 `const myDiv = ref(null)`。
3. 在模板中使用 `v-bind` 将 `myDiv` 绑定到该元素上,如 `<div ref="myDiv" v-bind="myDiv"></div>`。
举个例子,如果想在 Vue3 中获取一个 `id` 为 `myDiv` 的元素并修改其样式,可以这样写:
```
<template>
<div id="myDiv" ref="myDiv" v-bind="myDiv">这是一个 div 元素</div>
</template>
<script>
import { ref, onMounted } from 'vue'
export default {
setup() {
const myDiv = ref(null)
onMounted(() => {
myDiv.value.style.backgroundColor = 'red'
})
return {
myDiv
}
}
}
</script>
```
在上面的例子中,我们使用 `ref` 函数来定义一个 `myDiv` 变量,并在 `onMounted` 钩子函数中访问该元素,并将其背景颜色修改为红色。然后将 `myDiv` 变量绑定到 `div` 元素上,通过 `v-bind` 将 `myDiv` 对象中的属性绑定到 `div` 元素上,这样就可以在模板中使用 `myDiv` 对象来访问该元素了。
阅读全文