Vue2 调用其他组件的方法

Vue2 call a method of other component

我有一个方法:组件 A 中的 openMenu()。

我想在组件B中调用这个方法

有$root、Event bus、Vuex,这种情况怎么办?

最佳做法是什么?

你可以使用 emit。

在组件 A 中:

mounted() {
 this.$root.$on("callMyMethod", () => {
   this.myMethod();
 });
},
methods: {
  myMethod() {
    // do something
  },
},

在组件 B 中:

methods: {
 doSomething() {
    this.$root.$emit("callMyMethod");
  },
},