子到父数据Vue JS

时间:2017-10-20 20:14:35

标签: vue.js vuejs2 vue-component

enter image description here

嗨,大家好,我不太清楚如何做到这一点,我对Vue很新,如何将我的数据从NewDeal组件发送到DealsTable组件?如您所见NewDeal有两个父组件。我已经阅读了关于$ emit和$ on的信息,但只是想确认我是否真的需要像newDeal -> QuickActions -> SideBar这样做?如果我的想法是正确的,我不知道如何离开那里。我希望你能对我有所了解。

我尝试从NewDeal组件发出一个事件并从DealsTable组件中听取它但没有工作,我不确定这是否可行,或者它应该真的是孩子是父母的直系后裔吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

使用全局变量总线修正它并用总线替换它。

app.js中的声明:

window.bus = new Vue({})

发射极: bus.$emit()

监听器: bus.$on()

答案 1 :(得分:1)

  

我尝试从NewDeal组件发出一个事件并从DealsTable组件中侦听它但是没有工作

看起来你有一个解决方案,但我想我会评论这一部分以防它有所帮助。 DealsTable没有从NewDeal看到事件的原因是子组件发出的vue事件只传播到直接父组件而不是更高。

如果您希望在链的上方看到vue事件,那么一旦听到事件并收到它,孩子的父母就需要发出事件。通过这种方式,每个父级都可以将事件冒充到链中,但在许多情况下这太复杂了,所以你的window.bus方法就是这样。希望有助于使你所看到的更有意义。