vue3父改变子组件中值
时间: 2023-11-19 22:04:45 浏览: 108
可以通过在父组件中使用 `ref` 获取子组件实例,然后调用子组件中的方法或者直接修改子组件中的属性来改变子组件中的值。
具体实现步骤如下:
1. 在子组件中使用 `setup` 函数,暴露出需要修改的值和修改该值的方法。
```vue
<template>
<div>{{ count }}</div>
</template>
<script>
import { ref } from 'vue'
export default {
setup() {
const count = ref(0)
const increment = () => {
count.value++
}
return {
count,
increment
}
}
}
</script>
```
2. 在父组件中使用 `ref` 获取子组件实例,并调用子组件中的方法或者直接修改子组件中的属性。
```vue
<template>
<div>
<ChildComponent ref="childComponentRef" />
<button @click="changeChildCount">Change Child Count</button>
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue'
export default {
components: {
ChildComponent
},
methods: {
changeChildCount() {
this.$refs.childComponentRef.increment()
}
}
}
</script>
```
在上面的例子中,点击按钮会调用 `changeChildCount` 方法,该方法通过 `$refs` 获取到子组件实例,并调用子组件中的 `increment` 方法来增加子组件中的 `count` 值。
阅读全文