为了账号安全,请及时绑定邮箱和手机立即绑定

你好,求解vuex怎么实现组件之间的通信?

你好,求解vuex怎么实现组件之间的通信?

喵喵时光机 2021-02-15 18:14:54
vuex怎么实现组件之间的通信
查看完整描述

2 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

在项目中有这么两个平行的vue.js组件, 都挂载在$el:document.body下:hall和detail
现在的情况是, detail中的某个值改变了, 需要在hall中的某个值也作出相应的改变。 本来是想做父子组件的, 但项目框架如此, 改还要牵扯到很多, 暂缓了。
我们知道vue.js中组件树的通信是比较方便的: 子组件可以通过v-bind和prop来从父组件继承值并双向绑定, 而子组件也可以通过$dispatch方法来向父组件发送信息
那么这种平行的子组件之间, 有没有什么好的通信方法呢?
现在的临时解决方案就是:收到ajax的返回信息之后, 在回调函数中这样写:
this.$parent.$children[0].$data.somedata = somavalue
但这样的写法让我很不安, 且不说那个强耦合$children[0], 实现也不甚优雅

查看完整回答
反对 回复 2021-03-17
?
大话西游666

TA贡献1817条经验 获得超14个赞

一个问题被关闭了,看来你已经研究到总线通信这一部分了,目前的问题是

var eventBus = new Vue();

不能被其他组件所使用。

我猜测你可能是使用了官方的cli 生成的 Webpack的单文件组件模式吧。

给你一个简单的办法,在 main.js 里面

查看完整回答
反对 回复 2021-03-17
  • 2 回答
  • 0 关注
  • 316 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信