我在我的应用程序中使用 Vue 和 Vuex ,我有一些组件。到时候我知道我可能还会有更多的东西。所以我在所有组件中共享应用程序状态时遇到问题。所以我想知道我应该遵循哪种方式?将状态传递给所有组件,无论是子组件还是父组件,或者将状态传递给将在其某些子组件中使用的父组件,然后将状态作为属性传递给它们(但是,我需要导入突变方法,因为道具不是反应性的)?
更新:
请记住,如果要显示或隐藏组件,并且条件语句v-if
附加到组件自定义标记,则每次再次呈现整个组件时!但不是if语句仅在组件中的某些子标签上。
提前致谢。
答案 0 :(得分:1)
这是基于意见的问题,但我想说如果你知道你的应用程序可以大规模开发,那么从一开始就使用Vuex要好得多。
将状态从父母一直传递到孩子等等并不是好方法,所以现在最好使用Vuex,如果你没有别的办法,你将节省很多时间来改变你的应用程序。
答案 1 :(得分:1)
你所要求的是一种虚假的困境。从官方文档:
通过向根实例提供
store
选项,商店将被注入根目录的所有子组件,并将作为this.$store
提供给他们。< / p>
(强调我的)
这意味着无论vue和vuex自动为您处理组件树的深度,都可以在组件之间共享存储。