当前位置:首页 > VUE

vue 怎么实现loading

2026-01-17 17:28:16VUE

实现全局 Loading 的方法

在 Vue 中可以通过拦截 HTTP 请求和响应实现全局 Loading 效果。使用 axios 拦截器结合 Vuex 状态管理是常见方案。

// axios 拦截器配置
axios.interceptors.request.use(config => {
  store.commit('SET_LOADING', true)
  return config
})

axios.interceptors.response.use(
  response => {
    store.commit('SET_LOADING', false)
    return response
  },
  error => {
    store.commit('SET_LOADING', false)
    return Promise.reject(error)
  }
)

组件级 Loading 实现

通过 v-if 指令控制 Loading 组件的显示隐藏,结合异步操作的状态管理。

<template>
  <div>
    <loading-spinner v-if="isLoading" />
    <content-component v-else />
  </div>
</template>

<script>
export default {
  data() {
    return {
      isLoading: false
    }
  },
  methods: {
    async fetchData() {
      this.isLoading = true
      try {
        await api.getData()
      } finally {
        this.isLoading = false
      }
    }
  }
}
</script>

使用第三方库

Element UI 等组件库提供现成的 Loading 组件和服务调用方式。

// 服务方式调用
import { Loading } from 'element-ui'

let loadingInstance = Loading.service(options)
loadingInstance.close()

// 组件方式使用
<el-button
  type="primary"
  :loading="true"
>
  加载中
</el-button>

路由级别 Loading

通过路由守卫实现页面切换时的 Loading 效果。

router.beforeEach((to, from, next) => {
  store.commit('SET_PAGE_LOADING', true)
  next()
})

router.afterEach(() => {
  setTimeout(() => {
    store.commit('SET_PAGE_LOADING', false)
  }, 500)
})

vue 怎么实现loading

标签: vueloading
分享给朋友:

相关文章

vue实现静态查询

vue实现静态查询

Vue 实现静态查询 在 Vue 中实现静态查询通常指不依赖后端接口,直接在前端处理数据筛选或搜索功能。以下是几种常见实现方式: 使用计算属性过滤数据 通过计算属性对静态数据进行筛选,适合简单查询场…

vue实现按钮刷新

vue实现按钮刷新

Vue 实现按钮刷新功能 在 Vue 中实现按钮刷新功能可以通过多种方式实现,具体取决于刷新需求是局部刷新还是全局刷新。以下是几种常见的方法: 使用 window.location.reload()…

vue实现本地数据存储

vue实现本地数据存储

使用 localStorage 或 sessionStorage Vue 中可以直接调用浏览器提供的 localStorage 或 sessionStorage API 进行数据存储。localSto…

vue实现安全免登录

vue实现安全免登录

Vue 实现安全免登录的方案 免登录功能通常通过持久化认证状态(如 Token)实现,但需兼顾安全性。以下是基于 Vue 的常见实现方案: 基于 Token 的免登录 登录成功后存储 Token…

vue异步组建实现原理

vue异步组建实现原理

Vue 异步组件实现原理 Vue 的异步组件允许将组件按需加载,通常用于代码分割或延迟加载非关键组件。其核心原理基于 Promise 和动态导入。 基本实现方式 通过 defineAsyncComp…

vue实现走势图

vue实现走势图

Vue 实现走势图的方法 使用 ECharts 库 ECharts 是一个强大的数据可视化库,支持多种图表类型,包括走势图(折线图)。在 Vue 项目中可以通过 vue-echarts 封装库或直接使…