共享应用商店状态
Sharing application store state
我在我的应用程序中使用 Vue 和 Vuex 并且我有一些组件。随着时间的流逝,我知道我可能还会有更多,这会很多。所以我在所有组件中共享应用程序状态时遇到问题。所以我想知道我应该遵循哪种方式?要么将状态传递给所有组件,无论是子组件还是父组件,要么将状态传递给将在其某些子组件中使用的父组件,然后将状态作为 属性 传递给它们(但是,我是否需要导入突变方法,因为 props 不是反应性的)?
更新:
请记住,如果组件要显示或隐藏,并且条件语句 v-if
附加到组件自定义标记,则每次都会重新渲染整个组件!但不是 if 语句仅在组件中的某些子标签上。
提前致谢。
这是一个基于意见的问题,但我认为如果您知道您的应用程序可以大规模开发,那么从一开始就使用 Vuex 是更好的方法。
一直将状态从父级传递给子级等并不是一个好方法,所以现在最好使用 Vuex,这样在以后别无他法时,你将节省大量更改应用程序的时间vuex.
你问的是一个虚假的困境。来自官方文档:
By providing the store
option to the root instance, the store will be injected into all child components of the root and will be available on them as this.$store
.
(强调我的)
这意味着无论组件树有多深,vue 和 vuex 都会自动为您处理在组件之间共享存储。
我在我的应用程序中使用 Vue 和 Vuex 并且我有一些组件。随着时间的流逝,我知道我可能还会有更多,这会很多。所以我在所有组件中共享应用程序状态时遇到问题。所以我想知道我应该遵循哪种方式?要么将状态传递给所有组件,无论是子组件还是父组件,要么将状态传递给将在其某些子组件中使用的父组件,然后将状态作为 属性 传递给它们(但是,我是否需要导入突变方法,因为 props 不是反应性的)?
更新:
请记住,如果组件要显示或隐藏,并且条件语句 v-if
附加到组件自定义标记,则每次都会重新渲染整个组件!但不是 if 语句仅在组件中的某些子标签上。
提前致谢。
这是一个基于意见的问题,但我认为如果您知道您的应用程序可以大规模开发,那么从一开始就使用 Vuex 是更好的方法。
一直将状态从父级传递给子级等并不是一个好方法,所以现在最好使用 Vuex,这样在以后别无他法时,你将节省大量更改应用程序的时间vuex.
你问的是一个虚假的困境。来自官方文档:
By providing the
store
option to the root instance, the store will be injected into all child components of the root and will be available on them asthis.$store
.
(强调我的)
这意味着无论组件树有多深,vue 和 vuex 都会自动为您处理在组件之间共享存储。