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