在 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)
}

这样可以避免内存泄漏问题。

Uni-app 兄弟组件之间方法调用:使用事件总线

原文地址: https://www.cveoy.top/t/topic/qetE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录