vuex理解之modules小记

好记性不如烂笔头vue

demo预览

源代码

前情提要

关于vuex,其实好久之前就研究使用过,还研究过 flux,redux之类的体系,当时感受对于 state,action,dispatch,views等这套体系流程已经很了解,结果呢近一年不用,再次证实了人类大脑的局限性。这里不作任何文档教程,由于官网文档已经很详细,这里只谈理解和注意点。git

vuex核心

五大核心属性:github

  • State
  • Getters
  • Mutations
  • Actions
  • Modules

四大辅助函数

  • mapState
  • mapGetters
  • mapActions
  • mapMutations

运行流程

  • State是数据data的存储仓库,可划分为子模块module,每一个module有自立的上下文对象context,有本身的state、mutation、action、getters、modules等等体系vuex

  • Getters 主要用来从State中获取数据,优势是具备通用性redux

  • Mutations 是用来更新state状态仓库里的数据的,惟一更改数据地方,实时同步修改,不能异步,不能异步,不能异步异步

  • Actions 主要补充增长 异步更新 state仓库数据的功能,内部依然是触发Mutation来实现函数

  • Modules 为了划分state模块,便于管理数据仓库spa

注意:Getters,Mutations,Actions不管是否是在module块中,都会直接挂载到 vuex的实例 store上,只有state保持链式命名空间,好比,store.state.module[key]等等,因此若是是子模块的state,直接用辅助函数mapState是获取不到的.对象

相关文章
相关标签/搜索