我正在将纯 Vue 应用程序迁移到 Vuex,但我不确定将数据传递给下游组件的最佳方式。 Vue 的方式是将它们作为属性传递:
<component :my-prop="myProp"/>
Vuex的方式好像是直接访问store:
computed: {
myProp: function() {
return this.$store.state.myProp;
}
}
Vuex 的方式不是倾向于将 View (组件)和数据(存储)层更紧密地耦合吗?另一方面,向下游传递属性可能有点痛苦。
在 Vuex 中访问存储数据的推荐方法是什么?
最佳答案
不确定“官方”推荐,但我个人更喜欢使用属性。通过这种方式,您可以将组件与商店分离。例如。您的组件可以重用(在其他项目中,稍后等)并且不将存储作为依赖项。
如果商店发生变化,例如VueX 的新版本,以后的另一个最佳实践,只需要更改父组件,您的所有组件都将以相同的方式运行。
关于javascript - Vuex:直接访问商店还是传递属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41632362/