为什么要在 VueJs SPA 中使用状态管理



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

我使用的是默认vue init webpack

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

对于共享数据,每个人似乎都推荐一个状态管理系统,如Vuex(或普通对象的更简单的替代方案,但据我所知,普通对象不能共享计算,每个组件都必须重新计算自己计算)。

既然它是一个 SPA,我相信有一个焦点是 App.vue,为什么我不能只拥有我所有的"数据"变量,以及我在 App.vue 中的"计算"变量,而在任何其他组件中只需通过 $root 访问我需要的数据。共享数据或$root。MyComputed或类似的东西?

我是不是误会了什么?仅使用$root有重大缺点吗?我找不到太多关于它的信息。

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

最新更新