- 父子组件传值:
v-bind - 子传父:
v-on 兄弟组件之间共享数据:
EventBus先创建中央事件总线,在
src/utils下创建一个eventBus.js: ```js /**
- 事件车 */ import Vue form ‘vue’ export default new Vue() ``` eventBus 中只创建了一个新的Vue实例,以后它就承担起啦组件之间通信的桥梁,也就是中央事件总线。
在触发事件的组件里,引入 eventBus 这个事件总线,接着添加一个按钮并绑定一个点击事件
import eventBus form '@src/utils/eventBus'// 注册点击事件,用来传递数据hanldleClick(){eventBus.$emit('updateCart', data)}
再创建一个兄弟组件。接收值,实现同步刷新和其他处理,引入eventBus 事件总线,并同步刷新
import eventBus form '@src/utils/eventBus'// 注册事件,用来接受数据(监听上面自定义的函数)eventBus.$on('updateCart',(data)=>{if(data === 'a'){}})
$on事件是不会自动清除销毁的,需要我们手动来销毁,要通过eventBus.$off来关闭
