为啥在 VueJs SPA 中使用状态管理?

Posted

技术标签:

【中文标题】为啥在 VueJs SPA 中使用状态管理?【英文标题】:Why use state management in VueJs SPA?为什么在 VueJs SPA 中使用状态管理? 【发布时间】:2017-12-20 21:22:12 【问题描述】:

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

我使用默认的vue init webpack

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

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

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

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

【问题讨论】:

【参考方案1】:

一开始你可能会发现像 App.vue 这样将所有东西都放在一个地方很容易,但是在后期阶段,在不同的组件/模块之间寻求同步会很头疼,总是建议将所有常用的东西都放在一个地方处于“状态”并避免使用操作和突变直接进行 DOM 操作。通过VUEX的状态图及其生命周期了解状态管理的重要性,然而Vue js是轻量级的。

【讨论】:

以上是关于为啥在 VueJs SPA 中使用状态管理?的主要内容,如果未能解决你的问题,请参考以下文章

VueJS中学习使用Vuex详解

vuejs 和 element 搭建的一个后台管理界面

将 _redirects 文件添加到 Netlify 上托管的 Vue SPA 的根路径

请问P沟道场效应管改如何驱动啊?为啥我的这个BUCK电路中IRF5305不加驱动信号却一直处于导通状态呢?

用VUE做网站后台

VueJs—状态管理组件Vuex