不是父子组件,也不是兄弟组件,该如何传递数据通信

我这个出现了个问题,就是,有两个组件,他们都是通过<router-view></router-view>渲染出来的,但是我想让他们通信,这是的$emit没有反应。求解,还是默认值1,没有改变。why?
图片描述

点击contentList.vue组件里的某个按钮就路由到detail.vue。

阅读 2.3k
2 个回答

至少可以加入一个中间层,使用一个空的 Vue 实例作为中央事件总线:

var bus = new Vue()
// 触发组件 A 中的事件
bus.$emit('id-selected', 1)
// 在组件 B 创建的钩子中监听事件
bus.$on('id-selected', function (id) {
  // ...
})

可以考虑使用Vuex

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