当前位置:首页 > VUE

vue 怎么实现loading

2026-01-17 17:28:16VUE

实现全局 Loading 的方法

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

vue 怎么实现loading

// 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 组件的显示隐藏,结合异步操作的状态管理。

vue 怎么实现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)
})

标签: vueloading
分享给朋友:

相关文章

前端多线程实现vue

前端多线程实现vue

前端多线程与Vue的结合 在Vue中实现多线程通常通过Web Worker技术完成。Web Worker允许在后台线程中运行脚本,避免阻塞主线程,适合处理计算密集型任务。 使用Web Worker的…

vue 实现

vue 实现

Vue 实现的基本步骤 安装 Vue.js 可以通过 npm 或 CDN 引入。使用 npm 安装适合大型项目,CDN 适合快速原型开发。 npm install vue 在 HTML 文件中引入…

vue交互实现

vue交互实现

Vue 交互实现方法 Vue.js 提供了多种方式实现用户交互,包括事件处理、表单绑定、动态渲染等。以下是常见的交互实现方法: 事件处理 通过 v-on 或 @ 指令绑定事件,触发方法或直接执行表达…

vue实现公式

vue实现公式

在Vue中实现公式展示或计算可以通过多种方式实现,以下为具体方法: 使用模板插值与计算属性 若公式较简单,可直接在模板中使用插值表达式或计算属性。例如计算圆的面积: <templat…

vue 实现全屏

vue 实现全屏

Vue 实现全屏功能 在 Vue 中实现全屏功能可以通过浏览器提供的 Fullscreen API 完成。以下是一个完整的实现方案: 安装依赖(可选) 如果需要跨浏览器兼容性更好,可以安装 scre…

实现vue datepicker

实现vue datepicker

安装依赖 使用 vue-datepicker 或第三方库如 v-calendar 或 vue2-datepicker。以 vue2-datepicker 为例: npm install vue2…