Uni-app 兄弟组件之间方法调用:使用事件总线
在 uni-app 中,可以通过事件总线(EventBus)来实现兄弟组件之间的方法调用。
首先,在兄弟组件所在的页面中引入事件总线:
import Vue from 'vue'
export const EventBus = new Vue()
然后,定义一个方法并在需要调用的地方触发事件:
methods: {
callMethod() {
// 触发事件,传递参数
EventBus.$emit('methodName', params)
}
}
接下来,在另一个兄弟组件中监听事件并调用方法:
mounted() {
// 监听事件
EventBus.$on('methodName', this.methodName)
},
methods: {
methodName(params) {
// 在这里进行具体的操作
}
}
通过以上步骤,可以实现兄弟组件之间的方法调用。需要注意的是,事件总线是全局的,因此可以在任意组件中使用。同时,在使用完事件总线后,记得在组件销毁前解除监听:
beforeDestroy() {
// 解除监听
EventBus.$off('methodName', this.methodName)
}
这样可以避免内存泄漏问题。
原文地址: https://www.cveoy.top/t/topic/qetE 著作权归作者所有。请勿转载和采集!