怎么在vue项目中自动设置请求状态

  介绍

怎么在vue项目中自动设置请求状态?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

async 处理程序(),{   this.loading 才能=,真的   await 才能;fetch ()   this.loading 才能=false   }

虽然是很简单的功能,可是要处理的地方多的时候,还是很繁琐的,就想着能不能统一设置处理请求的加载,然后页面根据加载的状态决定要显示的内容,就根据自己的想法做了一些封装,自动给所有ajax请求设置加载状态,主要思路是把所有请求集中到单一实例上,通过代理代理属性访问,把加载状态提交到存储的状态中

安装

<代码> npm美元安装vue-ajax-loading

演示

在线演示(打开较慢)

怎么在vue项目中自动设置请求状态”>,</p> <p>使用</p> <p>配置存储的状态及变异</p> <pre类= import  {loadingState的不同之处是,loadingMutations },得到& # 39;vue-ajax-loading& # 39;      const  store =, new  Vuex.Store ({   ,,状态:{   ,,,…loadingState   ,,},   突变才能:{   ,,,…loadingMutations   ,,}   })

把所有请求集中到一个对象上

import  {, ajaxLoading },得到& # 39;vue-ajax-loading& # 39;   import  axios 得到& # 39;axios& # 39;   import  store 得到& # 39;. ./商店# 39;,//,Vuex.Store 创建的实例   时间=axios.defaults.baseURL  & # 39; https://cnodejs.org/api/v1& # 39;//,把请求集中到单一对象上,如:   const  service =, {   ,,全球:{   ,,,//,全局的请求   ,,,getTopics (), {   ,,,,,return  axios.get(& # 39;/话题# 39;   ,,,},   ,,,getTopicById (=id  & # 39; 5433 d5e4e737cbe96dcef312& # 39;), {   ,,,,,return  axios.get(“/主题/$ {id}”)   ,,,}   ,,},   ,,模块:{   ,,,//,有命名空间的请求,命名空间就是,话题   ,,,主题:,{   ,,,,,getTopics (), {   ,,,,,,,return  axios.get(& # 39;/话题# 39;   ,,,,,},   ,,,,,getTopicById (=id  & # 39; 5433 d5e4e737cbe96dcef312& # 39;), {   ,,,,,,,return  axios.get(“/主题/$ {id}”)   ,,,,,}   ,,,}   ,,}   }      export  default  ajaxLoading ({   商店,才能   ,服务   })

完成以上配置之后,通过上面<代码>出口默认出来的对象去发送请求,就会自动设置请求的状态,然后可以在组件内通过<代码> store.state美元。或<代码>。美元加载> & lt; el-button 类型=皃rimary",:加载=發oading.getTopics"美元;,@click=癶andler1"祝辞getTopics   & lt; el-button 类型=皃rimary",:加载=發oading.delay"美元;,@click=癲elay"在定时两秒& lt;/el-button>   & lt; el-button 类型=皃rimary",:加载=發oading.topic.getTopics"美元;,@click=癶andler3"祝辞topic.getTopics      import  api 得到& # 39;路径//api # 39;   export  default  {   方法:才能,{   ,,,handler1 (), {   ,,,,,api.getTopics ()   ,,,},   ,,,handler3 (), {   ,,,,,api.topic.getTopics ()   ,,,},   ,,,延迟(),{   ,,,,,api.delay ()   ,,,}   ,,}   }

<>强商店选择

Vuex。商店创建的实例

<强>服务

包含所有请求的对象,可以配置属全球和模块性

<李>

全球:全局作用域的请求,可以设置为对象或数组对象

<李>

模块:带命名空间的请求,类型为对象,属性名即为命名空间

vue是什么

vue是一套用于构建用户界面的渐进式JavaScript框架,vue与其它大型框架的区别是,使用vue可以自底向上逐层应用,其核心库只关注视图层,方便与第三方库和项目整合,且使用vue可以采用单文件组件和vue生态系统支持的库开发复杂的单页应用。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

怎么在vue项目中自动设置请求状态