为啥在 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 中使用状态管理?的主要内容,如果未能解决你的问题,请参考以下文章
将 _redirects 文件添加到 Netlify 上托管的 Vue SPA 的根路径