Vue2.0 http请求以及loading展示实例

yizhihongxing

下面是“Vue2.0 http请求以及loading展示实例”的完整攻略:

1. Vue2.0 http请求

1.1 引入axios

在Vue使用http请求时,我们需要先引入axios,具体方法是在需要用到 http 请求的页面中先引入axios:

<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>

也可以使用npm的方式安装:

npm install axios --save

然后在vue的入口文件中使用:

import axios from 'axios'
Vue.prototype.axios = axios;

1.2 使用axios

引入axios之后,我们就可以在Vue中使用axios进行http请求了。

举个栗子,我们需要向后端请求一个数据,后端提供的接口是 /api/data,我们需要将得到的数据显示在前端界面上。

<template>
    <div>
        <h1>数据展示</h1>
        <p>{{data}}</p>
    </div>
</template>

<script>
    export default {
        name: 'MyComponent',
        data () {
            return {
                data: ''
            }
        },
        mounted () {
            this.$http.get('/api/data').then((response) => {
                this.data = response.data
            }).catch((error) => {
                console.log(error)
            })
        }
    }
</script>

以上代码中,我们使用了axios的get方法向 /api/data 发送了一次get请求,它会返回一个Promise对象,当数据请求到之后,就会执行then方法中的代码,将返回的数据赋值到 data 属性上,这样就可以在前端界面上展示这个数据了。

2. loading展示实例

2.1 引入Vue-loading-overlay

Vue-loading-overlay是一个方便简易的Vue组件库,它提供了多种loading展示方式,具体可以在github地址中查看:https://github.com/ankurk91/vue-loading-overlay

我们可以使用npm的方式安装它:

npm install vue-loading-overlay --save

安装完成后,在Vue的入口文件中引入并使用:

import LoadingOverlay from 'vue-loading-overlay';
import 'vue-loading-overlay/dist/vue-loading.css';
Vue.component('LoadingOverlay', LoadingOverlay);

2.2 使用Vue-loading-overlay

Vue-loading-overlay提供了三种loading展示的方式:Fullscreen, Inline blocks, and Custom Component。我们这里使用Fullscreen的方式来展示loading。

使用Fullscreen方式展示loading的代码如下:

<template>
    <div>
        <h1>数据展示</h1>
        <p>{{data}}</p>
        <loading-overlay :active="loading"></loading-overlay>
    </div>
</template>

<script>
    import LoadingOverlay from 'vue-loading-overlay';
    import 'vue-loading-overlay/dist/vue-loading.css';

    export default {
        name: 'MyComponent',
        data () {
            return {
                data: '',
                loading: false
            }
        },
        methods: {
            getData () {
                this.loading = true;
                this.$http.get('/api/data').then((response) => {
                    this.data = response.data;
                    this.loading = false;
                }).catch((error) => {
                    console.log(error)
                    this.loading = false;
                })
            }
        },
        mounted () {
            this.getData();
        },
        components: {
            LoadingOverlay
        }
    }
</script>

以上代码中,我们创建了一个名为 LoadingOverlay 的组件,并将它挂载在Vue实例中。在加载数据的时候,我们设置 loading 属性为 true,同时在Promise的 thencatch 方法中都将 loading 属性的值设为了 false,这样就实现了数据加载时展示loading的效果。

最后,我们需要在模板中引入 loading-overlay 组件并使用,它会覆盖页面的整个区域,并展示loading效果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Vue2.0 http请求以及loading展示实例 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • 简单谈一谈Vue中render函数

    当我们通过模板来渲染Vue组件时,Vue框架内部会将其编译成render函数执行。而render函数是Vue中的核心函数,我们可以自己手动编写render函数来实现更加灵活的渲染效果。 一、render函数基础 1.1 什么是render函数 Vue中的render函数是用来创建虚拟DOM的函数。它接受一个“createElement”函数作为参数用来构建D…

    Vue 2023年5月28日
    00
  • 如何获取this.$store.dispatch的返回值

    获取this.$store.dispatch的返回值可以通过以下步骤实现: 1.使用Promise 在Vue中,this.$store.dispatch返回一个Promise对象,你可以通过在调用dispatch方法时添加.then()和.catch()方法来获取返回值,代码如下: methods: { async getUserInfo() { try {…

    Vue 2023年5月28日
    00
  • vue element中axios下载文件(后端Python)

    下面是详细的讲解: 背景介绍 在使用Vue Element 开发时,我们常常会遇到需要通过axios发送请求来下载文件的情况。而本文将给大家介绍如何在Vue Element中通过axios下载文件,以及前后端代码示例。 步骤 步骤一:创建后端Python代码 我们首先需要在后端编写Python代码,用于向前端提供下载文件的接口。 示例代码: from fla…

    Vue 2023年5月28日
    00
  • Vue实现输入框@功能的示例代码

    下面是关于“Vue实现输入框@功能的示例代码”的完整攻略。 1. 标准的输入框@功能实现 首先来看一下标准的输入框@功能的实现代码: <template> <div> <input type="text" v-model="content" @input="handleInput…

    Vue 2023年5月27日
    00
  • vue 事件获取当前组件的属性方式

    获取当前组件的属性是Vue中常见的操作之一。下面是Vue中获取当前组件属性的完整攻略。 方式一:$event对象 可以通过$event对象来获取当前组件属性。$event是事件回调函数的第一个参数,它是原生DOM事件对象的包装。我们可以从这个对象中获取各种属性。 例如,我们有一个input组件: <input type="text"…

    Vue 2023年5月28日
    00
  • Vue3获取DOM节点的3种方式实例

    下面是Vue3获取DOM节点的3种方式实例的详细攻略: 1. 通过ref引用获取DOM节点 我们可以给DOM元素添加ref属性,然后在Vue模板中通过ref的值进行引用,从而获取DOM节点。具体操作步骤如下: 在Vue模板中添加ref属性 <template> <div> <button ref="btn"&…

    Vue 2023年5月28日
    00
  • vue深拷贝的3种实现方式小结

    本文将详细讲解三种vue深拷贝的实现方式,分别为递归实现、JSON.parse/stringify、lodash库实现。下面将分为以下几个部分来介绍。 1. 递归实现 递归实现是一种最简单的深拷贝方式,其代码实现如下: function deepClone(obj) { if (obj === null || typeof obj !== "obj…

    Vue 2023年5月27日
    00
  • iview实现动态表单和自定义验证时间段重叠

    iView是一款基于Vue.js的UI框架,可以快速搭建美观、易用的网页应用程序。在iView中实现动态表单和自定义验证时间段重叠的功能,需要深入了解iView的表单组件和验证组件。 实现动态表单 在iView中,通过<Form :model=”formData”>和<FormItem>标签可以构建表单。动态表单的实现需要以下步骤: …

    Vue 2023年5月29日
    00
合作推广
合作推广
分享本页
返回顶部