vant的Loading加载动画组件的使用,通过接口拿数据时显示加载状态

这篇具有很好参考价值的文章主要介绍了vant的Loading加载动画组件的使用,通过接口拿数据时显示加载状态。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. 在store.js中使用vuex全局控制loading显示与隐藏


import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    LOADING: false
  },

  mutations: {
    showLoading(state) {
      state.LOADING = true
    },
    hideLoading(state) {
      state.LOADING = false
    }
  }
  1. 新建loading公共组件页面


<template>
  <div class="loading">
    <van-loading type="spinner" color="#1989fa" />
  </div>
</template>

<script>
  import Vue from 'vue';
  import {Loading} from 'vant';
  Vue.use(Loading);
  export default {
    name: 'LOADING',
    data() {
      return {}
    },
  }
</script>

<style lang="scss" scoped>
  .loading {
    position: fixed;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
  }
</style>
  1. 在App.vue中,将loading组件挂载到工程根节点

挂载到App.vue中之后所有的接口请求都会加载loading组件

可以在需要的页面单独引用


<template>
  <div id="app">
    <Loading v-show="LOADING"></Loading>
    ......//其他代码
  </div>
</template>

<script>
  import {mapState} from 'vuex'
  import Loading from '@c/Loading.vue'
  export default {
  // ...解构,将store中的state进行映射。
  // 在template中可以直接使用,不需要通过this.$store.state一个个获取store中的state数据。
    computed: {
      ...mapState(['LOADING'])
    },
    name: 'App',
    components: {Loading}
  }
</script>
  1. 在请求拦截器和响应拦截器中配置

在封装好的axios中,利用axios的拦截器实现请求时提交store显示loading;

请求失败或者完成提交store隐藏loading。文章来源地址https://www.toymoban.com/news/detail-596514.html


import Vue from "vue";
import axios from 'axios';
import store from '../../store';

// 请求拦截器
axios.interceptors.request.use(function (config) {
  store.commit('showLoading')
  return config;
}, function (error) {
  store.commit('hideLoading')
  return Promise.reject(error);
});

//响应拦截器
axios.interceptors.response.use((response) => {
  store.commit('hideLoading')
  return response.data;
}, (error) => {
  store.commit('hideLoading')
  return Promise.reject(error);
});

//绑定到vue原型中
Vue.prototype.$http = axios;
  1. 如果在单个请求中使用


// 在请求时
this.$store.commit('showLoading')

//请求完成后  
this.$store.commit('hideLoading')

到了这里,关于vant的Loading加载动画组件的使用,通过接口拿数据时显示加载状态的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【CSS加载动画特效】28种纯CSS实现的加载loading动态特效(附源码)

    今天其实还是有点期待6月份城市赛道的成绩公布,但是可能因为出现城市太多等问题,官方也还在快马加鞭的统计中,我也趁机再发一篇前端的文章了,其实在很多系统里面我们都看到过各种各样的加载中样式,但是总有些显得平平无奇,今天我就统计了28种load加载动画特效

    2024年02月15日
    浏览(47)
  • vue版本升级导致vant这个UI组件中的loading失效问题

    最近遇到了一个问题,就是项目中loading加载突然不能用了。 这个项目是老项目, vue2.x+vant,loading加载 采用的是vant提供的UI组件。 但为什么不能用了呢,因为一个小伙伴把package-lock.json这个文件删除了。 为什么会把 package-lock.json 这个文件删除了呢?因为公司有安全扫描,扫

    2023年04月22日
    浏览(27)
  • 2023-03-18 Android app 用进度条ProgressBar 圆形样式做加载loading效果,旋转动画

    一、activity_main.xml 布局文件 二、定义的图形资源progress_circle_bg.xml,把改文件放置drawable目录下面, 通过修改thicknessRatio值修改圆边边的粗细。 三、真机运行效果图如下 四、参考文章 Android组件篇--ProgressBar(二)改变滚动条样式_qing_soft的博客-CSDN博客  

    2024年02月14日
    浏览(23)
  • 前端Vue自定义加载中loading加载结束end组件 可用于分页展示 页面加载请求

    前端Vue自定义加载中loading加载结束end组件 可用于分页展示 页面加载请求, 请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=13219 效果图如下: 实现代码如下: 使用方法 HTML代码实现部分 组件实现代码

    2024年02月11日
    浏览(37)
  • 【 vue使用请求loading:组件形式】

    这是我项目中想使用loading之后踩的第一个坑,后面优化用了vant自带的提示框,比较简单, 可移步这篇文章→→→ vue+vant使用请求loading 1. com/loading.vue 2. main.js 全局引用 3. 在页面中使用

    2024年02月16日
    浏览(26)
  • UE4/5动画系列(3.通过后期处理动画蓝图的头部朝向Actor,两种方法:1.通过动画层接口的look at方法。2.通过control rig的方法)

    目录 蓝图 点积dot Yaw判断  后期处理动画蓝图  动画层接口 ControlRig: 首先我们创建一个actor类,这个actor类是我们要看的东西,actor在哪,我们的动物就要看到哪里(同样,这个我们也是做一个父类,因为它会和我们的蓝图类模板一起使用)。 这样子做,将模型作为根(也可

    2024年02月11日
    浏览(49)
  • Vant2组件的使用

    组件地址: Vant 2 - Mobile UI Components built on Vue Mobile UI Components built on Vue https://vant-contrib.gitee.io/vant/v2/#/zh-CN/ 通过 npm 安装 # Vue 3 项目,安装最新版 Vant: npm i vant -S # Vue 2 项目,安装 Vant 2: npm i vant@latest-v2 -S 引入组件(三种方式) 其他两种方式官网中“快速上手”上有 第三种

    2024年02月01日
    浏览(23)
  • 【vue+el-table+el-backtop】表格结合返回顶部使用,loading局部加载

    效果图: 一. 表格结合返回顶部 二. 局部loading 解决方法: target绑定滚动dom的父元素类名就可以了. 1.如果你的表格是 固定表头 的,那滚动dom的父元素类名就是 el-table__body-wrapper 如图: 2.如果你的表格不是固定表头,表头跟随内容一起滚动的,那滚动dom的父元素类名就是 el-table 如图

    2024年02月13日
    浏览(32)
  • 微信小程序Vant组件配置及使用

    Vant Weapp 官网文档:介绍 - Vant Weapp (gitee.io) Vant Weapp GitHub地址:youzan/vant-weapp: 轻量、可靠的小程序 UI 组件库 (github.com) 本教程使用下载代码方式引入vant组件 通过git下载vant源码 将vant源码路径下的 dist 文件夹复制到微信小程序项目中 将 app.json 下的 \\\"style\\\": \\\"v2\\\" 去除,微信小程序

    2024年02月13日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包