请教一下vue当前页面下的子组件交互的问题

刚接触vue,遇到一个问题来请教一下
现在我有个页面a,页面a里有1个固定组件header和多个通过路由加载的组件,其中有部分组件需要改变header组件内的值,比如标题什么的,想请教的是应该通过在其他组件内通过调用父页面的方法给header传参实现,还是应该直接和header组件交互?抑或是有更便捷的方式?求指点

阅读 2k
2 个回答

1.可以把header里的标题绑定到Vuex。

2.可以使用事件总线传递。

建立一个EventBus.js(名称随便起),把下面两行敲进去。
import Vue from 'vue';  
export default new Vue(); 
在任何你想用的组件里引入(包括$emit$on)

import EventBus from '@/EventBus.js'

大功告成,你可以在任意引入EventBus的组件内调用$emit$on方法了

这样可以把事件和数据在任意两个毫不相关的组件间传递。

这个用vuex或者bus吧,用其他方法反而复杂化了

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