我正在将纯 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/

10-12 06:47