vue3-父子组件传函数方法

1.父子组件传值

逻辑代码和vue2大差不差,父传子可以通过props传值页面接受即可,子传父通过emit传值即可。

当然vue3还提供了依赖注入的跨组件传值方法,但是项目中出现过多的inject provide可能会导致维护不便且代码污染问题,所以笔者现在的项目是通过父子组件一层层传值得到的。

2.子传父内容为函数方法

父传子数值笔者上一篇文章已经介绍过了,有兴趣的可以移步 ​​​​​​Vue3+element-plus项目开发小结(父子组件传值)_sunyeei的博客-CSDN博客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.需要的项

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue2.0中,父子组件之间可以通过props属性和$emit方法进行函数递。 首先,在父组件中,通过props属性将函数递给子组件。在父组件中定义一个函数,然后将它添加到子组件的props中。例如: ```js // 父组件 <template> <div> <child-component :childFunction="parentFunction"></child-component> </div> </template> <script> export default { methods: { parentFunction() { // 在父组件中定义的函数 } } } </script> ``` 然后,在子组件中,通过this.$emit方法将其作为事件,从而调用父组件中的函数。在子组件中通过$emit方法触发一个事件,并将需要递的参数递给父组件中的函数。例如: ```js // 子组件 <template> <div> <button @click="childFunction">点击按钮</button> </div> </template> <script> export default { props: { childFunction: { type: Function, required: true } }, methods: { childFunction() { this.$emit('child-function'); } } } </script> ``` 最后,在父组件中,监听子组件的事件,并调用相应的处理函数。在父组件中通过v-on指令监听子组件触发的事件,并在相应的处理函数中调用父组件本身的函数。例如: ```js // 父组件 <template> <div> <child-component :childFunction="parentFunction" @child-function="handleChildFunction"></child-component> </div> </template> <script> export default { methods: { parentFunction() { // 在父组件中定义的函数 }, handleChildFunction() { // 处理子组件触发的事件 } } } </script> ``` 通过上述的方式,就可以在Vue2.0中实现父子组件之间的函数递。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值