test // 这样只是传 test.value
/>
const test = ref()
传ref对象的好处是 ,可以在子组件中直接修改 test.value
1.大家都知道,vue是具有单向数据流的传递特性。当你在子组件中修改父组件传递过来的数据的时候,控制台就会报出错误,说不让你对父组件传递的值进行修改。
2.那么,尤大大为了解决这个问题,在vue3的时候给我们提供了一个新的思路:v-model来实现父传子,并且子也可以修改父组件传递过来的数据。
3. 都读到这里了,我给大家提供两个修改父组件数据的思路(不仅限于vue3):
法一:使用v-model进行父传子,并且子组件修改父组件传递的值。
法二:使用Pinia或者vuex进行状态管理,然后进行数据的修改。
————————————————
版权声明:本文为CSDN博主「喝西瓜汁的兔叽Yan」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
望采纳
在 Vue 中,你可以使用 v-bind 指令来向子组件传递 ref 对象。
<template>
<div>
<Children v-bind:data="test" />
</div>
</template>
<script>
import Children from './Children.vue'
export default {
components: {
Children
},
data() {
return {
test: this.$refs.test
}
},
mounted() {
console.log(this.$refs.test) // 输出 ref 对象
}
}
</script>
上述代码我们使用 v-bind 指令来向子组件传递 ref 对象。在子组件中,可以直接使用 this.data 来访问传递过来的 ref 对象。
子组件访问 prop.data 用 nextTick 包裹一下。这个涉及到父子组件生命周期的问题。
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!