Vuex——状态管理

2020-03-09  本文已影响0人  inyourface

前言:项目中有使用Vuex,通过官网进行学习,现进行总结。

Vuex--状态管理模式

状态管理模式包含以下几个部分:

  • state: 驱动应用的数据源
  • view: 以声明方式将state映射到视图
  • actions: 响应在view上的用户输入导致的状态变化

简单的“单向数据流”图示:


flow.png

当遇到多个组件共享状态时,单向数据流的简洁性很容易被破坏:

Vuex和单纯的全局对象有以下两点不同:

1.Vuex的状态存储是响应式的。当Vue组件从store(仓库)中读取状态的时候,若store中的状态发生变化,那么响应的组件也会相应的得到高效更新。
2.不能直接改变store中的状态。改变store中的状态的唯一途径就是显示地提交(commit)mutation。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用。


const store = new Vuex.Store({
  state: {
    count: 0
  },
  mutations: {
    increment (state) {
      state.count++
    }
  }
})

可以通过store.state来获取状态对象,以及通过store.commit方法触发状态变更:

 store.commit('increment')
 console.log(store.state.count)

由于store中的状态时响应式的,在组件中调用store中的状态简单到仅需要在计算属性中返回即可。触发变化也仅仅是在组件的methods中提交mutation。

上一篇 下一篇

猜你喜欢

热点阅读