同级组件/多级组件之间传值问题解决:eventBus
1⃣️ 初始化:
方法一:只创建实力方法,较轻便
方法二:全局的事件总线
直接在项目中的mian.js初始化EventBus:
// main.js
Vue.prototype.$EventBus = new Vue();
使用总结:
// 发送消息
bus.$emit(channel: string, callback(payload1,…))
// 监听接收消息
bus.$on(channel: string, callback(payload1,…))
//移除监听
bus.$off(channel: string);
2⃣️ 触发事件:
import bus from "./bus.js";
// 同父子组件传值
bus.$emit("ldap-setting-active", value);
3⃣️ 监听事件:
import bus from "./bus.js";
mounted() {
bus.$on("ldap-setting-active", value => {
console.log(value);
})
}
// 移除事件
beforeDestroy() {
bus.$off('update-delete');
}