vuex知识点

vuex
? vue的状态管理工具。

  • vuex 就是基于 flux 思想实现的框架,也实现了单一数据源,数据单向流动等特征。
    • 单一数据源: 一个应用程序中,只能有一个 store 对象(用来存储数据的)
    • 数据单向流动:数据始终朝着一个方向传递(形成环路)。
    • 优势:应用中可能有很多环,但是彼此之间没有联系,所以在一个环中添加一个成员或者删除一个成员,
      ? 只影响当前的环,不影响其它的环,因此我们可以将系统中的所有环抽象成一个。
  • 通信流程
    • 一个组件发布了消息。
    • 消息被 action 捕获,并根据消息类型,处理数据
    • 数据改变了,存储在 state 中,
    • state 数据更新了,将新的数据传递给另一个组件。
  • action (消息)分类
    • 同步 消息:mutations 是一个对象
      • key 表示消息名称
      • value 表示消息回调函数
        ? 第一个参数表示 state 数据对象
        【vuex知识点】? 第二个参数表示 commit 方法提交的数据
        ? 在方法中,我们用新的数据,更新 state 数据对象。
      • commit 方法 用来提交同步消息的方法
        ? 第一个参数表示消息类型
        ? 第二个参数表示提交的数据
        ? 注意:数据只能在第二个参数中传递,想传递多个数据,可以放在数组或者对象中。
    • 异步 消息: actions 是一个对象
      • key 表示消息名称
      • value 表示消息回调函数
        第一个参数表示 store 对象
        第二个参数表示 dispatch 方法提交的数据
        在方法中,我们实现异步操作,但是不要修改 state
      • dispatch 用来提交异步消息的方法。
        第一个参数表示消息名称
        第二个参数表示提交的数据
        注意:数据只能在第二个参数中传递,想传递多个数据,可以放在数组或者对象中。
  • store 的组成
    • state
      • 用来存储静态数据的
        store 中的数据放在 state 中存储。
    • getters
      • getters 与 state 的区别与组件中 data 与 computed 区别是一样的。
      • mutations 用来订阅同步消息的
      • 用 commit 方法提交同步消息。
    • actions
      • 用来订阅异步消息的
      • 用 dispatch 方法提交异步消息。
    • mudules
      • 用来切割 store 的
      规范:只能在 mutations 中修改 state,不能在 actions 中修改 state。

    推荐阅读