刚接触vue,遇到一个问题来请教一下
现在我有个页面a,页面a里有1个固定组件header和多个通过路由加载的组件,其中有部分组件需要改变header组件内的值,比如标题什么的,想请教的是应该通过在其他组件内通过调用父页面的方法给header传参实现,还是应该直接和header组件交互?抑或是有更便捷的方式?求指点
刚接触vue,遇到一个问题来请教一下
现在我有个页面a,页面a里有1个固定组件header和多个通过路由加载的组件,其中有部分组件需要改变header组件内的值,比如标题什么的,想请教的是应该通过在其他组件内通过调用父页面的方法给header传参实现,还是应该直接和header组件交互?抑或是有更便捷的方式?求指点
9 回答1.7k 阅读✓ 已解决
6 回答1.6k 阅读
3 回答1.4k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
3 回答1.1k 阅读
2 回答1.3k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
1.可以把header里的标题绑定到Vuex。
2.可以使用事件总线传递。
建立一个
EventBus.js
(名称随便起),把下面两行敲进去。在任何你想用的组件里引入(包括
$emit
和$on
)import EventBus from '@/EventBus.js'
大功告成,你可以在任意引入EventBus的组件内调用
$emit
和$on
方法了这样可以把事件和数据在任意两个毫不相关的组件间传递。