全局事件總線
? 1并闲、一種組件間相互通信的方式,適用于任意組件間通信。
? 2赋铝、安裝全局事件總線:
? ? ? new Vue({
? ? ? ? .....
? ? ? ? beforeCreated() {
? ? ? ? ? ? Vue.prototype.$bus = this //安裝全局事件總線旋奢,$bus就是當(dāng)前應(yīng)用的vm
? ? ? ? },
? ? ? ? .....
? ? ? })
? 3泳挥、使用事件總線:
? ? ? 1、接受數(shù)據(jù):A組件想接受數(shù)據(jù)黄绩,則在A組件中給$bus綁定自定義事件羡洁,事件的回調(diào)留在A組件自身。
? ? ? 2爽丹、提供數(shù)據(jù):this.$bus.$emit('xxx',數(shù)據(jù))
? 4筑煮、最好在beforeDestroy鉤子中,用$off('xxx')去解綁當(dāng)前組件所用到的事件粤蝎。
第一步:
??? 在入口文件main.js中安裝全局事件總線
第二步:
在提供數(shù)據(jù)的組件中:
接受數(shù)據(jù)的組件中: