【Vuex】小白都能看懂的Vuex

众所周知,看文档是很重要的

1. Vuex是什么

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式

可以认为它是一个前端数据库,可以随时存取数据,对于整个前端是共享同步的。

2. 使用Vuex的好处

在以下两种情况下,普通的方法是很麻烦做到,或者做不到的。

  1. 多个视图依赖于同一状态。

在兄弟组件中,维护同一状态是无能为力的

  1. 来自不同视图的行为需要变更同一状态。

就好像两个页面会互相影响,这需要我们在每个页面加入传值参数,代码变得更难维护。

3. Vuex的核心概念

  • State
    用来存放组件之间共享的数据。他跟组件中的data选项,只不过组件中data是用来存放组件的私有数据。
  • Getter
    有时候我们需要从 store 中获取一些数据,使用Getter来获取,Getter可以对数据进行操作,类似于computed。
  • Mutation
    更改 Vuex 的 store 中的状态的唯一方法,且为同步方法,类似methods。
  • Action
    Action会通过Mutation,让Mutation帮他提交数据的变更。
    Action支持异步请求
  • Module
    当应用变得非常复杂时,store 对象就有可能变得相当臃肿。Vuex 允许我们将 store 分割成模块(module)。每个模块拥有自己的 state、mutation、action、getter、甚至是嵌套子模块。

3. Vuex操作流程

image.png
  • 登录
    1. 首先调用actions里的登录方法(这里是一个异步的方法)
    2. 返回结果后调用mutations中的SET_INFO方法
    3. SET_INFO去修改state中的userInfo信息
  • 获取用户信息
    1. 这里调用getter中方法getUserInfo
    2. 然后就会返回当前stateuserInfo的数据
  • 修改用户信息
    1. 类似获取信息,这里调用mutations中的SET_USERINFO方法
    2. SET_USERINFO方法修改state中的userInfo

总结:

  1. state中只维护当前需要存的数据,定义好即可
  2. 修改state中的数据需要通过mutations中的方法
  3. mutations中的方法必须为同步的,例如(state.token = token)
  4. 修改state中的数据需要通过getter中的方法
  5. actions中可以使用异步方法
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 安装 npm npm install vuex --save 在一个模块化的打包系统中,您必须显式地通过Vue.u...
    萧玄辞阅读 2,972评论 0 7
  • Vuex是什么? Vuex 是一个专为 Vue.js应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件...
    萧玄辞阅读 3,162评论 0 6
  • vuex是一个状态管理模式,通过用户的actions触发事件,然后通过mutations去更改数据(你也可以说状态...
    Ming_Hu阅读 2,041评论 3 3
  • 系列文章:Vue 2.0 升(cai)级(keng)之旅Vuex — The core of Vue applic...
    6ed7563919d4阅读 4,596评论 2 58
  • vuex 场景重现:一个用户在注册页面注册了手机号码,跳转到登录页面也想拿到这个手机号码,你可以通过vue的组件化...
    sunny519111阅读 8,051评论 4 111