美文网首页
vuex--是一个专为 Vue.js 应用程序开发的状态管理模式

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

作者: 吴涛涛 | 来源:发表于2017-08-15 09:20 被阅读0次

    每一个 Vuex 应用的核心就是 store(仓库)。"store" 基本上就是一个容器,它包含着你的应用中大部分的状态(state)。Vuex 和单纯的全局对象有以下两点不同:

    Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。

    你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交(commit) mutations。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用。

    State---单一状态树

    Vuex 使用单一状态树—— 是的,用一个对象就包含了全部的应用层级状态。至此它便作为一个『唯一数据源(SSOT)』而存在。这也意味着,每个应用将仅仅包含一个 store 实例。单一状态树让我们能够直接地定位任一特定的状态片段,在调试的过程中也能轻易地取得整个当前应用状态的快照。

    mapState辅助函数

    当一个组件需要获取多个状态时候,将这些状态都声明为计算属性会有些重复和冗余。为了解决这个问题,我们可以使用mapState辅助函数帮助我们生成计算属性,让你少按几次键:

    Mutations

    更改 Vuex 的 store 中的状态的唯一方法是提交 mutation。Vuex 中的 mutations 非常类似于事件:每个 mutation 都有一个字符串的事件类型 (type)和 一个回调函数 (handler)。这个回调函数就是我们实际进行状态更改的地方,并且它会接受 state 作为第一个参数:

    Actions

    Action 提交的是 mutation,而不是直接变更状态。

    Action 可以包含任意异步操作。

    分发 Action

    Actions 支持同样的载荷方式和对象方式进行分发:

    相关文章

      网友评论

          本文标题:vuex--是一个专为 Vue.js 应用程序开发的状态管理模式

          本文链接:https://www.haomeiwen.com/subject/jpqeqxtx.html