希望初学者可以初步理解vuex的日志:

示意图:


一.图例:

  1.Vue Components:Vue组件。HTML页面上,负责接收用户操作等交互行为,执行dispatch方法触发对应action进行回应。
  2.dispatch:(obj)操作行为触发方法,是唯一能执行action的方法。在dispatch定义多个函数,【可以包含同步/异步操作】。
  3.actions:操作行为处理模块,执行接口调用方法和执行commit操作。
  4.commit:状态改变提交操作方法。对mutation进行提交,是唯一能执行mutation的方法。
  5.mutations:(obj) 状态改变操作方,是Vuex中修改state的唯一推荐方法,在mutations对象中定义多个操作state的函数。
【函数只能进行同步操作,且方法名只能全局唯一】。
  6.state页面状态管理容器对象。集中存储Vue components中data对象的零散数据,全局唯一。在vue组件中通过:this.$store.state.~ 来获取state的值。
 

二.流程解读:
  (vuex规定所有的数据操作必须通过:action–>mutation–>state change 的流程来进行:)
  1.在vue组件中dispatch,如:dispatch调用action中的【getMessgeList】函数,并传入参数 msgData:
this.$store.dispatch('getMessgeList', msgData)  

  2.action中的getMessgeList被调用后执行自己的操作,如:异步调用接口,通过接口api获取数据【messageList】。然后执行commit操作,commit调用mutation中的【SET_MESSAGE_LIST】方法,并将接口返回值【messageList】作为参数传入:

async ['getMessgeList'] ({ commit }, parameter) {
let messageInfo = await getMessageApi(parameter) // 调用getMessageApi获取接口数据的函数
commit(’SET_MESSAGE_LIST', messageInfo)
}
  3.mutation中的【SET_MESSAGE_LIST】方法修改state , 如:
SET_MESSAGE_LIST(state, messageInfo){
state.thisRouterName = messageInfo
}

最新文章

  1. Android Studio 恢复小窗口停靠模式(Docked Mode)
  2. JSF primefaces session view expired 会话失效后页面跳转
  3. PE文件学习系列二 DOS头分析
  4. Effective Objective-C 2.0 — 第七条:在对象内部尽量直接访问实例变量
  5. 关于s:iterator 和s:if 的结合使用
  6. 使用paramiko模块远程登录并上传或下载文件
  7. 高仿bootstrap的layout效果(一)
  8. nginx笔记6-总结
  9. docker-compose部署ELK
  10. 写交互式脚本时,遇到到报错:not a regular file
  11. 图像识别与OpenCV——Mat类与Mat_类的内存管理
  12. asp.net core系列 37 WebAPI 使用OpenAPI (swagger)中间件
  13. Python面试常见的问题
  14. 记录C#常用的代码片段
  15. IntelliJ IDEA 使用教程
  16. “耐撕”团队 2016.03.25 站立会议
  17. Codeforces 556D - Case of Fugitive
  18. sublime text3在交互时解决input()函数无法使用的问题
  19. DOM几个重要的函数
  20. Oracle中to_number()函数的用法

热门文章

  1. C#实现所有经典排序算法汇总
  2. Windows 10卸载Edge浏览器(不成功的别试了)
  3. jQuery toast message 地址 使用
  4. 微信小程序的小问题(1)
  5. Apache + Tomcat + JK 集群
  6. HDOJ 2196 Computer 树的直径
  7. 数据结构(C实现)------- 顺序栈
  8. spark之map与flatMap差别
  9. uboot 解压缩
  10. 模拟IC