Vue3中怎么修改父组件传递到子组件中的值

其他教程   发布日期:2025年02月18日   浏览次数:256

这篇文章主要介绍了Vue3中怎么修改父组件传递到子组件中的值的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue3中怎么修改父组件传递到子组件中的值文章都会有所收获,下面我们一起来看看吧。

自定义组件上使用v-model

父组件:

  1. //此处是父组件中引入的子组件
  2. <ChildrenView v-model:num="num"/>
  3. //定义数据
  4. let num=ref(10);//定义num为10,传递给子组件

子组件:

  1. <script setup>
  2. //子组件接收父组件传递过来的数据
  3. let props=defineProps({
  4. num:number;
  5. });
  6. console.log(props.num)//接收过来的数据num=10
  7. //重点:开始修改子组件传递过来的num
  8. //1.引入我们的 **emit("自定义事件名",传递的数据)** 函数,用来触发自定义事件
  9. //2.使用emit()
  10. let emit=defineEmits(["update:num"]);//自定义的更新num事件
  11. //3.假设子组件里的有个按钮,执行的是这个changeNum事件
  12. let changeNum=()=>{
  13. emit("update:num",100);//触发自定义事件,将父组件的num修改为100
  14. }
  15. </script>

注意:
1.大家肯定有疑惑,这个emit()不就是子传父的时候用的吗,那么父组件上不应该去绑定这个update:num吗?

  1. 如下:父组件:<ChildrenView v-model:num="num" @update:num="changeNum" >

是的,确实是子传父用的,但是你没必要再去绑定@update:num了。
why?
因为尤大大在自定义组件上使用v-model自己已经做过了处理,所以你只需要emit(“定义update:值”,数据)即可修改父组件的值了

以上就是Vue3中怎么修改父组件传递到子组件中的值的详细内容,更多关于Vue3中怎么修改父组件传递到子组件中的值的资料请关注九品源码其它相关文章!