2017-10-20 299 views
1

enter image description here孩子父数据Vue公司JS

嗨,大家好,我不太知道如何做到这一点,我很新的Vue公司,我怎么可以把我的数据从NewDeal组件DealsTable组件?正如你可以看到NewDeal有两个父组件。我读过$ emit和$ on,但只想确认是否真的需要这样做,如newDeal -> QuickActions -> SideBar?如果我所想的是正确的,我不知道该怎么走。我希望你能给我一些启示。

我试过从NewDeal组件发出一个事件,并从DealsTable组件收听它,但没有工作,我不确定这是可能的,还是应该真的是该孩子是一个直接的后代家长吗?

谢谢!

回答

2

修复它使用全局变量总线,并通过总线取代它。

宣言app.js:

window.bus = new Vue({}) 

发射器: bus.$emit()

监听器: bus.$on()

1

我试着从发光元件NewDeal一个事件,并从它监听DealsTable组件,但没有工作

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

如果您希望vue事件在链上看起来更高,那么孩子的父母在听到事件并收到事件后需要发出事件。通过这种方式,每个家长都可以将事件推上链条,但在许多情况下,这太复杂了,所以你的window.bus方法就是要走的路。希望帮助使你所看到的更有意义。

+1

感谢您的知识!这实际上是我的第一个想法,我会像发射和听众的链条那样做,这将涉及大量工作,而不是非常理想。那么,JavaScript仍然是JavaScript:D谢谢!我也读过关于Vuex,但现在可能不适用。 – Roljhon