我已经看到有很多方法可以将数据组件传递给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');
有人帮助我找出最佳方法吗?
预先感谢:)
答案 0 :(得分:4)
我同意@Lewis:
这完全取决于您正在做的事情。
从长远来看,我建议使用Vuex。
从经验上讲,Vuex及其指南的构建方式使Vuex在较大的(和较小的)项目中真正易于管理。
由于Vuex拥有此well documented structure,这使新开发人员可以很容易地访问您的源代码以理解您的代码,因为它在社区中是众所周知的。
另一方面,“ ServerBus”(EventBus)在较小和高级程度较低的应用程序中使用较多。
this。$ root 对我来说似乎更像是一个hack,我强烈建议您不要这样做。由于Vue的灵活性,该功能已出现。 -甚至官方文档也对此表示支持:Handeling edge cases