当前位置:首页 > 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 实现多层评论回复 数据结构设计 多层评论通常采用嵌套结构,每个评论对象包含子评论数组。示例数据结构如下: comments: [ { id: 1, content: '父…

vue为啥能实现监听

vue为啥能实现监听

Vue 实现监听的原理 Vue 的监听能力主要基于其响应式系统,该系统通过数据劫持和依赖收集实现。当数据变化时,系统能自动触发视图更新或执行回调函数。 核心机制:Object.definePrope…

课程表vue实现

课程表vue实现

实现课程表的Vue组件 创建课程表需要设计数据结构、布局和交互逻辑。以下是一个基于Vue 3的实现方案: 数据结构设计 const timetableData = ref([ { ti…

vue实现微博印象

vue实现微博印象

实现微博印象功能的核心思路 微博印象功能通常指用户发布微博后,系统自动分析文本内容并提取关键词或标签,以可视化形式展示。Vue实现该功能需要结合文本分析、关键词提取和前端渲染技术。 文本分析与关键词…

vue中如何实现循环

vue中如何实现循环

在 Vue 中实现循环 Vue 提供了 v-for 指令用于实现循环渲染列表数据。v-for 可以遍历数组、对象或数字范围,生成动态的 DOM 元素。 遍历数组 使用 v-for 遍历数组时,语法为…

vue前端分页怎么实现

vue前端分页怎么实现

前端分页实现方法 在Vue中实现前端分页通常涉及数据分割和页面控制逻辑。以下是常见的实现方式: 使用计算属性分页 通过计算属性对数据进行切片处理: computed: { paginatedD…