vue中如何跨组件调用方法,A组件和B组件不是父子组件,同属于router-view的不同组件

<router-view></router-view>
A.vue和B.vue都是router-view组件

A.vue调用B.vue里的方法,该如何调用

阅读 8.1k
4 个回答

可以使用vuex,也可以使用Bub

这个和组件之间的通信是一样的,对于这种关系较远的组件,使用父子组件通信会显得过于麻烦,所以可以使用vuex,或者把方法封装成公共的函数,方便调用。

如果方法中需要用到B组件的实例,那么可以在B组件中修改下this指向

如果只是想用 B.vue 里的方法,那直接把方法抽成 mixins 就行了,否则 vuex 或者 EventBus 选一个。

this.$parent.$refs.B.someMethod()...
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题