Vue中关于组件之间传值

组件传值分为两种,父子组件和兄弟组件之间的传值

父子组件之间的传值问题:通过props进行传值 具体操作如下

首先在父组件中的操作如下

main-message 是子组件的标签名

:maxCount      是你传过去然后子组件接收值的名字

maxShowCount 则是你需要传入的值

然后就是在子组件中进行值的接收

可以看到子组件就是通过props进行值的接收,名字和刚才在父组件传的名字相同就就可以了,这就实现了父组件向子组件的传值

然后就是子组件向父组件进行传值,$emit()

子组件传值给父组件我们使用$emit(事件名,需要传入的值)去完成

 这里设置的触发方式为点击事件进行传值,然后在父组件中通过@事件名=方法名方法名要和父组件的取值方法里面的名字保持一致,方法中message就是传过来的值 

然后再父组件中使用找到子组件的标签名然后在里面写上

@get-url="getUrl"

@get-menu-name="getMenuName"

 

这样就完成了子组件传值给父组件

最后就是完成兄弟组件之间的传值

兄弟组件之间的传值可以通过子传父然后再父传子来实现,但是这样就有些复杂,所以我们可以使用bus原理(具体是什么我也不知道,以后学会了再说),首先我们需要创建一个js文件来建立两者之间的联系,在js里面我们只需要将Vue进行导入和导出

 然后再父组件中导入这两个兄弟组件,

最后我们再两个兄弟组件之间导入这个公共的js文件,

 

 

 对于传值的一方使用的是bus.$emit('名称','值')对于名称,传出的名称要和取值的名称相同就好,然后就是取值,使用的是bus.$on('名称',回调函数)回调函数的参数就是传过来的值,这样就实现了兄弟组件之间的传值

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值