Vue组件间通信
一.组件通信是什么
组件通信是组件通过某种方式传递信息达到某种目的
二.组件通信解决了什么问题
每个组件间的作用域都是相互独立的,解决了了组件间的数据共享
三.组件间通信的分类
父子之间
兄弟之间
祖孙之间
非关系型组件之间
四.组件通信的解决方法
(1)父子之间可通过props 与 自定义事件this.$emit
父给子传递 通过props
子给父传递 通过this.$emit(fn,data)
(2)消息订阅与发布
PubSub.publish(函数名,数据)发布
PubSub.subScribe(函数名)订阅
(3)全局时间总线
是对象可以监听绑定事件,分发事件以及解绑事件用来任意组件之间的通信
步骤一
在Vue原型上定义bus所有组件就
可以共享了
Vue.prototype.$bus=new Vue()
步骤二
分发事件
this.bus.$emit(事件名,数据)
步骤三
绑定事件
this.bus.$on(函数名)
(4)vuex
常用于大型项目