vuex--对action,getter,mutation,state的理解

action

action相当于是异步分发方法,也就是说指挥多个人同时做一件事情(store.dispatch(‘increment’))
然后给每个工人分配具体内容(就是commit动作) 具体工作内容就是mutation里的方法,这些工人干的是同一件事情。


两种写action的方法

//未用参数解构
actions: {
    increment (context) {
      context.commit('increment')
    }
  }
//使用参数解构
actions: {
  increment ({ commit }) {
    commit('increment')
  }
}

在vuex的api中 写着

action的处理函数总是第一个接受context对象

context 对象包含以下属性:

{
  state,      // 等同于 `store.state`,若在模块中则为局部状态
  rootState,  // 等同于 `store.state`,只存在于模块中
  commit,     // 等同于 `store.commit`
  dispatch,   // 等同于 `store.dispatch`
  getters,    // 等同于 `store.getters`
  rootGetters // 等同于 `store.getters`,只存在于模块中
}

context={state:”“, commit:”“,…}
参数本来传过来的是context对象
{commit}=context={state:”123”,commit:”345”…}

意思就是 commit=context.commit


getter

我觉得getter就是一个取操作 相当于一个组件拿数据的接口
特别用于 多个组件想要拿到某个数据
vuex里route里

const state = {
    recentJob_list:  []


};

const getters = {
    recentJobList : state => state.recentJob_list,
    //这是一个对象函数
};

vuex的vue上

computed:{
            ...mapGetters(['recentJobList'])
        },

这里补充 computed属性
…运算符的理解
js的集中常用函数大坑 https://blog.csdn.net/obkoro1/article/details/68943343

猜你喜欢

转载自blog.csdn.net/weixin_36869329/article/details/81778232