路虎哥哥

导航

VUEX,VUE的状态管理模式(2)

actions:异步的行动,功能和mutations是类似的, 都是去改变store里的state,不过actions和mutation有两点不同:
    < 1. actions 主要处理的是异步操作,mutations 必须同步执行,而actions 不受这样的限制,也就是说,actions我们即可以处理同步(通过distpatch( ) 触发actions,actions再提交mutations,实际就是actions修改mutations里的值),也可以处理异步的操作。
    < 2. actions 改变状态,最后是通过actions提交mutations,
    < 3. 定位基于流程顺序,二者扮演不同的角色。
         mutations 专注于修改state,理论上是修改state的唯一途径。commit mutations改变mutations 数据!
         actions 业务代码,异步请求。
     actions: {
          a_methods(arguments,data){
              arguments.state
              arguments.getters
              arguments.commit
              arguments.rootGetters
              arguments.rootState
         }      
     }
     mutations:{}
 
Vuex由三个部分组成:
  • state
    管理变量,只读属性,由store.state.xx读取
  • mutation
    操作变量,由store.commit('xx')触发
  • getters
    计算变量,通过store.getters.xx访问
  • store(存状态,存state),moudles(各个模块)
 

vuex 中store.commit和store.dispatch的区别及用法:

dispatch:含有异步操作,数据提交至 actions ,可用于向后台提交数据
this.$store.dispatch('isLogin', true);
 
commit:同步操作,数据提交至 mutations ,可用于读取用户信息写到缓存里
this.$store.commit('loginStatus', 1);
 

posted on 2022-07-26 22:11  路虎哥哥  阅读(34)  评论(0编辑  收藏  举报