这是将数据组件传递到vue js中的组件的最佳方法

时间:2019-04-12 13:35:50

标签: javascript vue.js vuejs2 vue-component vuex

我已经看到有很多方法可以将数据组件传递给vue js中的组件,但是我想知道下面列出的最好的方法

1)Vuex

store.commit('anyMethod'); 

2)$ root:使用$ root发出事件

this.$root.$emit("eventName",data)

3)服务器总线:我们必须在其中创建一个新的Vue实例,然后才能在整个应用程序上传递数据

Vue.prototype.$serverBus = new Vue(); 

and we can use like 

this.$serverBus.$emit('logged-in');

有人帮助我找出最佳方法吗?

预先感谢:)

1 个答案:

答案 0 :(得分:4)

我同意@Lewis:

  

这完全取决于您正在做的事情。

从长远来看,我建议使用Vuex。

从经验上讲,Vuex及其指南的构建方式使Vuex在较大的(和较小的)项目中真正易于管理。

由于Vuex拥有此well documented structure,这使新开发人员可以很容易地访问您的源代码以理解您的代码,因为它在社区中是众所周知的。

另一方面,

“ ServerBus”(EventBus)在较小和高级程度较低的应用程序中使用较多。

this。$ root 对我来说似乎更像是一个hack,我强烈建议您不要这样做。由于Vue的灵活性,该功能已出现。 -甚至官方文档也对此表示支持:Handeling edge cases