Cha*_*les 5 javascript frontend vue.js vuex
我正在将纯 Vue 应用程序迁移到 Vuex,但我不确定将数据传递到下游组件的最佳方式。Vue 的方式是将它们作为属性传递:
<component :my-prop="myProp"/>
Run Code Online (Sandbox Code Playgroud)
Vuex的方式好像是直接访问store:
computed: {
myProp: function() {
return this.$store.state.myProp;
}
}
Run Code Online (Sandbox Code Playgroud)
Vuex 方式不是倾向于将视图(组件)和数据(存储)层结合得更紧密吗?另一方面,向下游传递属性可能会有点痛苦。
在 Vuex 中访问存储数据的推荐方式是什么?
不确定“官方”建议,但我个人更喜欢使用属性。这样,您就可以将组件与存储分离。例如,您的组件可以重用(在其他项目中,稍后等)并且没有存储作为依赖项。
如果商店发生变化,例如 VueX 的新版本,这是稍后的另一个最佳实践,只需更改父级,所有组件都会以相同的方式运行。