Vuex

Vuex

Vuex的核心是storestore包含着state(状态)getter(计算属性)mutation(事件)action(异步操作)
Vuex类似一个全局变量,但有两个主要的区别:

  • Vuex 的状态存储是响应式的
  • 不能直接改变 store 中的状态,只能通过提交mutation来改变

state

保存着应用的状态

getter

类似于 Vue 应用中的 computed ,是从 store 中的 state 中派生出一些状态

mutation

更改 Vuex 的 store 中的状态的唯一方法

const store = new Vuex.Store({
  state: {
    count: 1
  },
  mutations: {
    increment (state) {
      // 变更状态
      state.count++
    }
  }
})

store.commit('increment')

action

与 mutation 类似,不同在于:

  • action 提交的是 mutation,而不是直接变更状态
  • action 可以包含异步操作

module

复杂的应用需要区分不同的模块

const moduleA = {
  state: { ... },
  mutations: { ... },
  actions: { ... },
  getters: { ... }
}

const moduleB = {
  state: { ... },
  mutations: { ... },
  actions: { ... }
}

const store = new Vuex.Store({
  modules: {
    a: moduleA,
    b: moduleB
  }
})

store.state.a // -> moduleA 的状态
store.state.b // -> moduleB 的状态
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 安装 npm npm install vuex --save 在一个模块化的打包系统中,您必须显式地通过Vue.u...
    萧玄辞阅读 8,030评论 0 7
  • Vuex 概念篇 Vuex 是什么? Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式...
    Junting阅读 8,213评论 0 43
  • State 单一状态树 Vuex使用单一状态树——用一个对象就包含了全部的应用层级状态。至此它便作为一个“唯一数据...
    oWSQo阅读 4,744评论 0 0
  • Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应...
    白水螺丝阅读 10,118评论 7 61
  • 来几款漂亮的鞋子 不想刷大家的屏 这样可以减少刷屏 喜欢咨询
    Nancy果儿阅读 1,445评论 0 0

友情链接更多精彩内容