Vue中,组件与组件之间的数据怎么传递?

我现在做的是node社区,
在作者一栏 有个积分
点击进入(点击fish进入)的这个页面没有积分的数据,(页面为A)
当跳转之后的页面是有积分的数据的.(页面为B)
两者不是父子或者子父关系
我想的是 把B页面的数据传递到A页面怎么实现

图片描述

阅读 4.7k
8 个回答

方法有:
1.用vuex这种状态管理插件;
2.可以考虑事件:vm.$emit
3.用cookie/localstorage保存

单页吗? vue-router可以传参的啊

用$emit发送,$on接收,具体参见链接
可以在App.vue里

import Vue from 'vue'
Event=new Vue()
//然后在组件里通过Event.$emit发送,Event.$on接收

或者新建一个event.js

import Vue from 'vue'
export var Event = new Vue()

在要传递的组件里

import { event } from 'event.js'
Event.$emit......

平级组件直接传递可以考虑vuex或者eventbus。

vuex就不多说了,楼上已经说了。

eventbus代码可以参考这里

大项目推荐使用VUEX,小项目可以使用$emit

题主如果真的遇到了这个情况的话,应该是组件的包裹结构不对其实这个需求还没有到需要用到$$emit的时候
在你的页面外包裹一层数据层然后每个页面都作为这个数据层的子组件就可以了。使用props就可以传递。

如果你这个做了跳转的话 建议使用 vuex 或者 localstorage

这种的话使用$emit和$on就可以实现,可以看我写的这篇文章,挺详细的,有什么不懂可以再问

推荐问题