Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 为什么在VueJs SPA中使用状态管理?_Vue.js - Fatal编程技术网

Vue.js 为什么在VueJs SPA中使用状态管理?

Vue.js 为什么在VueJs SPA中使用状态管理?,vue.js,Vue.js,我正在尝试学习vue/vue cli来制作单页应用程序 我使用的是默认的vue init网页包 我想在多个组件中使用一些数据。我还想在多个地方使用一些“计算”变量,而不必“重新计算” 对于共享数据,每个人似乎都建议使用Vuex之类的状态管理系统(或简单的普通对象替代方案,但据我所知,普通对象不能共享计算的数据,每个组件都必须重新计算该计算本身) 既然它是一个SPA,我认为只有一个焦点是App.vue,为什么我不能在App.vue中保存所有的“数据”变量和“计算”变量,而在任何其他组件中只通过$r

我正在尝试学习vue/vue cli来制作单页应用程序

我使用的是默认的
vue init网页包

我想在多个组件中使用一些数据。我还想在多个地方使用一些“计算”变量,而不必“重新计算”

对于共享数据,每个人似乎都建议使用Vuex之类的状态管理系统(或简单的普通对象替代方案,但据我所知,普通对象不能共享计算的数据,每个组件都必须重新计算该计算本身)

既然它是一个SPA,我认为只有一个焦点是App.vue,为什么我不能在App.vue中保存所有的“数据”变量和“计算”变量,而在任何其他组件中只通过$root.SharedData或$root.mycomputerd或类似的方式访问我需要的数据


我是不是误解了什么?仅仅使用$root是否有一个主要的缺点?我找不到太多关于它的信息。

开始时,您可能会发现将所有东西放在一个地方很容易,比如App.vue,但在以后的阶段,在不同的组件/模块之间寻求同步将是一件令人头痛的事,始终建议将所有常见的东西都驻留在“状态”中,并避免使用操作和突变直接进行DOM操作。浏览的状态图及其生命周期,以了解状态管理的重要性,但是Vue js是轻量级的