Vue 3中如何优雅地实现全局Loading效果并与表格数据交互?

云枫小哥_2057

云枫小哥_2057

2025-03-01

1095人浏览

原创

vue 3中如何优雅地实现全局loading效果并与表格数据交互?

优雅地在Vue 3中实现全局Loading效果,并与表格数据交互

许多Vue 3开发者都希望在发起网络请求时,能以优雅的方式显示全局Loading效果,从而提升用户体验。尤其是在表格数据加载场景中,全局Loading能有效防止用户看到空白页面,并提供清晰的反馈。本文将介绍一种基于axios拦截器的方案,实现Vue 3全局Loading效果并与表格数据交互。

核心思路是利用axios或其他HTTP客户端的拦截器机制。在请求发出前显示Loading,请求完成后隐藏Loading。通过在请求配置中添加标志位来控制哪些请求需要显示Loading。

首先,我们需要一个基于axios封装的自定义HTTP请求方法:

vue-admin-change-reviewer
vue-admin-change-reviewer

审查 Vue 管理后台的变更请求(Vue 2 + Element UI,Vue 3 + Element Plus)。重点关注最小化变更实现、上线风险检查以及回归检查清单生成。

下载
// 请求方法封装
export const test1 = (data) => request.post('/test', data, { notLoading: true });
export const test2 = (data) => request.post('/test2', data, { loading: true });

test1和test2代表两种请求类型。notLoading: true表示该接口无需登录即可访问,无需显示Loading;loading: true则表示该请求需要显示Loading。

接下来,在axios实例的拦截器中进行处理:

instance.interceptors.request.use(
  (config) => {
    if (!config.notLoading) {
      // 部分无需登录即可访问的接口,需在config中添加'notLoading'键,例如:{ notLoading: true }
    }
    if (config.loading) {
      // 显示Loading,请求结束后移除Loading
      //  此处需根据您使用的UI库或自定义Loading组件进行相应操作,例如:
      // this.$loading.start()  // 假设您使用了一个名为 $loading 的全局Loading服务
    }
    return config;
  },
  (error) => {
    // 处理请求错误
    return Promise.reject(error);
  }
);

instance.interceptors.response.use(
  (response) => {
    // 请求成功后,移除Loading
    // this.$loading.finish()
    return response;
  },
  (error) => {
    // 请求失败后,移除Loading
    // this.$loading.finish()
    return Promise.reject(error);
  }
);

在请求拦截器中,我们检查config.loading属性。如果存在且为true,则调用相应的Loading显示方法。在响应拦截器中,无论请求成功或失败,我们都调用Loading隐藏方法。 请注意,代码中// 显示Loading,请求结束后移除Loading以及// this.$loading.start(), // this.$loading.finish()部分需要根据您实际使用的UI框架或自定义Loading组件进行替换。

通过这种方法,我们可以轻松实现Vue 3全局Loading效果,并确保其在表格数据加载等场景中能良好地与交互效果配合。 记住,需要根据您选择的UI库或自定义Loading组件替换代码中的占位符。

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

vue

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

2023.10.19

3168

3

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

2025.10.17

4989

12

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2025.12.29

3789

9

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

2026.01.19

466

15

http500解决方法
http500解决方法

http500解决方法有检查服务器日志、检查代码错误、检查服务器配置、检查文件和目录权限、检查资源不足、更新软件版本、重启服务器或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.09

3583

4

http请求415错误怎么解决
http请求415错误怎么解决

解决方法:1、检查请求头中的Content-Type;2、检查请求体中的数据格式;3、使用适当的编码格式;4、使用适当的请求方法;5、检查服务器端的支持情况。更多http请求415错误怎么解决的相关内容,可以阅读下面的文章。

2023.11.14

894

3

HTTP 503错误解决方法
HTTP 503错误解决方法

HTTP 503错误表示服务器暂时无法处理请求。想了解更多http错误代码的相关内容,可以阅读本专题下面的文章。

2024.03.12

6566

8

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.08.16

5450

6

Go 语言 HTTP 编程与中间件开发教程合集
Go 语言 HTTP 编程与中间件开发教程合集

全面讲解 Go 语言 HTTP 编程的核心知识,涵盖 net/http 标准库的 Server/Handler/HandlerFunc 体系、DefaultServeMux 路由注册与自定义路由器、Request / ResponseWriter 请求响应处理、中间件(Middleware)链式设计模式与常见中间件(日志/CORS/认证/限流)开发、http.Client 的超时配置与连接池管理、Cookie / Session 处理、

2026.05.08

521

31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
uni-app快速上手
uni-app快速上手

共0课时 | 0人学习

Vue 教程
Vue 教程

共42课时 | 17.2万人学习

Vue3.x 工具篇--十天技能课堂
Vue3.x 工具篇--十天技能课堂

共26课时 | 2.5万人学习