【uniapp】methods方法挂在全局,方便无关联页面调用
【uniapp】methods方法挂在全局,方便无关联页面调用
main.js 页面挂载全局
import Vue from 'vue';
// 全局挂载方便无关联组件直接调用方法
Vue.prototype.$eventBus = new Vue();
mounted() {
// $on 监听(订阅)事件,当其它组件发出事件时,执行 connectWallet 方法
this.$eventBus.$on('connect', this.connect);
},
beforeDestroy() {
// $off 移除(取消订阅)监听器,防止内存泄漏
this.$eventBus.$off('connect', this.connect);
},
methods: {
// 连接
connect() {
// 逻辑代码
...
}
}
// 调用毫无关联组件方法
this.$eventBus.$emit('connect');
$eventBus 全局事件总线适用于中小型项目,大型项目还是推荐使用 Vuex / pinia