首页 > 其他 > 详细

Vue中的事件总线:$bus

时间:2020-05-15 18:28:10      阅读:40      评论:0      收藏:0      [点我收藏+]

在vue中,我们父子之间通信简单明了:

父组件向子组件传值: props,

在父组件中,用   :要传递过去的名字 = “   要传递的值   ”。

在子组件中 使用props:{}接受即可

 

子组件向父组件传值:$emit. 通过自定义方法,

在子组件中,我们使用this.$emit(‘方法名‘,参数),向父组件传值

在父组件中,我们使用子组件传递过来的自定义方法 :    @自定义方法名 = “ 自己随便写一个方法名,不需要跟参数,在下面使用该方法时,再写到()中 ”

 

 

以上,是关于vue中父子组件通信的方法,

那么非父子组件之间的通信,又是怎么样的呢?

其实也很简单,有两种方法:

1.通过Vuex, Vuex中的state.是可以共用的属性。通过调用Vue.state就可以获取到,非父子组件之间通信就可以解决

2.通过$bus, 事件总线

   2.1 :  首先呢。我们需要去main.js 中  让$bus可以使用: =======》     Vue.prototype.$bus = new Vue()

   2.2 :     然后,我们就可以使用 this.$bus.$emit(’事件名称‘,参数)  发送

   2.3 :     最后,我们可以通过 this.$bus.$on(‘事件名称‘,function(参数){})  接收

这样。我们就可以通过事件总线获取到非父子组件通信

Vue中的事件总线:$bus

原文:https://www.cnblogs.com/a973692898/p/12896105.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!