怎么在vue项目中自动设置请求状态?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
async 处理程序(),{ this.loading 才能=,真的 await 才能;fetch () this.loading 才能=false }
虽然是很简单的功能,可是要处理的地方多的时候,还是很繁琐的,就想着能不能统一设置处理请求的加载,然后页面根据加载的状态决定要显示的内容,就根据自己的想法做了一些封装,自动给所有ajax请求设置加载状态,主要思路是把所有请求集中到单一实例上,通过代理代理属性访问,把加载状态提交到存储的状态中
安装
<代码> npm美元安装vue-ajax-loading 代码>
演示
在线演示(打开较慢)
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生态系统支持的库开发复杂的单页应用。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。