我的Vue项目像这样,我的body
是路由的页面,可以跳转到很多页面(eg: a, b, c
组件),在路由到不同页面的时候,header
和footer
都是存在于页面的。
我的header
中有一些方法,我的可是我body
路由到b
组件的时候,我想在b
组件中调用a组件的方法,请问怎么做呢?
我的Vue项目像这样,我的body
是路由的页面,可以跳转到很多页面(eg: a, b, c
组件),在路由到不同页面的时候,header
和footer
都是存在于页面的。
我的header
中有一些方法,我的可是我body
路由到b
组件的时候,我想在b
组件中调用a组件的方法,请问怎么做呢?
1.可以理解为你是要实现组件间的通信,那么可以用vuex或者eventbus来实现,在b组件里emit一个事件,header组件里处理
2.如果只是内部一些方法是公用的,那么可以放到mixin里去
9 回答1.7k 阅读✓ 已解决
6 回答1k 阅读
3 回答1.4k 阅读✓ 已解决
4 回答986 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
3 回答890 阅读
3 回答1.3k 阅读✓ 已解决
按你的描述,
b组件
和a组件
是在路由中的同级关系,不是父子之间的关系,不能同时存在于页面中。这时候是不能互相调用的。建议你把需要调用的方法抽离出来,放到单独的模块里维护,这样就不用去组件里调用。