Action类似于mutation,不同在于:
作用: mutations只写同步操作,不写异步操作,而action则是解决方案 Eg axios获取到结果,然后then中更改数据为请求结果 此时就无法写
actions: { fnname(context,payload){ //异步操作 axios.get().then((res)=>{ context.commit({type:"add",res,payload}) }) } },
Action函数接受一个与 store 实例具有相同方法和属性的 context对象,因此可以调用context.commit提交一个 mutation,或者通过context.state和context.getters 来获取state和getters
action通过store.dispatch()方法触发
this.$store.dispatch('fnname',params);
首先配置actions,然后组件通过dispatch方法触发actions,actions中的异步操作执行再将异步结果通过commit参数传递进去
本文作者:RKLS
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!