【问题标题】:Which is the best way to pass data component to component in vue js [closed]哪个是将数据组件传递给vue js中的组件的最佳方式[关闭]
【发布时间】:2019-09-03 07:04:45
【问题描述】:

我已经看到在 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');

有人帮我找出最好的方法吗?

提前致谢:)

【问题讨论】:

  • 这完全取决于你在做什么的上下文

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


【解决方案1】:

我同意@Lewis:

这完全取决于你正在做的事情的背景。

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

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

由于 Vuex 有这个 well documented structure,它让新开发人员访问您的源代码以理解您的代码变得非常容易,因为它在社区中非常有名。

“ServerBus”(EventBus) 则更多地用于较小且不太高级的应用程序。

this.$root 对我来说似乎更像是一种 hack,我强烈建议不要这样做。这是由于 Vue 的灵活性而出现的一个特性。 - 甚至官方文档也支持这一点:Handeling edge cases

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-24
    • 2016-06-14
    • 2019-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-01
    • 2018-11-09
    相关资源
    最近更新 更多