vue中實現使用$refs獲取子組件某元素並使用addClass()為其添加類名
时间: 2024-02-21 15:58:30 浏览: 103
在 Vue 中,可以通过 `$refs` 获取子组件的实例,然后通过子组件实例的 `$refs` 属性来获取子组件的元素。下面是一个示例代码:
```html
<!-- 父组件 -->
<template>
<div>
<child ref="myChild"></child>
</div>
</template>
<script>
import Child from './Child.vue';
export default {
components: {
Child
},
mounted() {
// 获取子组件实例
const myChild = this.$refs.myChild;
// 获取子组件内的元素
const myElement = myChild.$refs.myElement;
// 添加类名
myElement.classList.add('my-class');
}
}
</script>
```
在上面的代码中,我们在父组件中引入了一个子组件 `Child`,然后给子组件起了一个名字 `myChild`。在 `mounted` 钩子函数中,我们先获取了子组件的实例 `myChild`,然后通过 `myChild.$refs.myElement` 获取了子组件内的名为 `myElement` 的元素,并使用 `classList.add()` 方法为它添加了一个名为 `my-class` 的类名。
需要注意的是,子组件内的元素需要使用 `ref` 属性来指定名字,才能在父组件中通过 `$refs` 获取到。如果子组件内有多个元素需要获取,可以分别使用不同的名字来指定。
阅读全文