1.父子组件传值
逻辑代码和vue2大差不差,父传子可以通过props传值页面接受即可,子传父通过emit传值即可。
当然vue3还提供了依赖注入的跨组件传值方法,但是项目中出现过多的inject provide可能会导致维护不便且代码污染问题,所以笔者现在的项目是通过父子组件一层层传值得到的。
2.子传父内容为函数方法
父传子数值笔者上一篇文章已经介绍过了,有兴趣的可以移步 Vue3+element-plus项目开发小结(父子组件传值)_sunyeei的博客-优快云博客s
传值为函数方法其实步骤也一样。
当前组件为index父组件,子组件就是其中的dialog弹窗
首先需要用到 :绑定props,笔者项目中需要传的值是function函数传的projectId 和 projectName俩个值

在index注册这个ref的时候需要注意,如果是简单的字符串 ref()即可,但是function函数就得箭头函数的方式去接收,ref((x , y )=>{x ; y })

那么回到dialog子组件中又该如何传输当前dialog的值呢?
重点的格式在于:(x , y )=> Promise<void>
当然项目规定需要用到ts,所以需要提前定义一下类型

通过事件将form的值传出去,这里需要注意用props.需要的项

本文介绍了Vue2和Vue3中父子组件之间的传值方法,包括props从父传子和emit从子传父,以及Vue3中的依赖注入。特别关注了函数方法的传值过程,如通过ref接收函数参数和使用Promise格式。同时提到了在TypeScript项目中的类型定义。
1605

被折叠的 条评论
为什么被折叠?



