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

下面是“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日

相关文章

  • iview实现动态表单和自定义验证时间段重叠

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

    Vue 2023年5月29日
    00
  • Vue3 中 watch 与 watchEffect 区别及用法小结

    下面我将详细讲解“Vue3 中 watch 与 watchEffect 区别及用法小结”的完整攻略。 watch 和 watchEffect 有什么区别 watch watch 是一个函数,它接收三个参数,分别是:待监听的数据对象,回调函数和选项对象。当监听对象的值变化时,回调函数就会被触发。 watchEffect watchEffect 是一个函数,它接…

    Vue 2023年5月28日
    00
  • vue.js中created方法作用

    Vue.js 中的 created() 方法是 Vue 实例生命周期钩子函数之一,用于在 Vue 实例创建并构建完毕后被触发执行。接下来,我将详细介绍 created() 方法的作用和用法。 created() 方法的作用 在 Vue.js 应用中使用 created() 方法通常有以下一些作用: 初始化一些数据,包括组件中的变量,是最常用的 created…

    Vue 2023年5月27日
    00
  • 为Vue3 组件标注 TS 类型实例详解

    为Vue3组件标注TS类型实例详解, 为什么要在Vue3中为组件标注TS类型 Vue3已经全面拥抱TypeScript,Vue2中虽然也可以使用TypeScript,但是不如在Vue3中使用简单直观。为Vue3中的组件标注TS类型能够帮助我们减少代码出错的可能性,能够在开发阶段就发现类型不匹配的问题。因为标注了TS类型,编辑器也可以给我们更好的编码体验,例如…

    Vue 2023年5月27日
    00
  • Vue-cli3中使用TS语法示例代码

    使用Vue-cli3中使用TS语法需要进行以下步骤: 创建Vue-cli3项目 使用Vue-cli3创建项目需要先安装Vue-cli3,安装命令为: npm install -g @vue/cli 创建项目的命令为: vue create my-project 其中my-project是你要创建的项目名称。 安装TypeScript 在创建好的Vue-cli…

    Vue 2023年5月28日
    00
  • 基于Vue方法实现简单计时器

    我来详细讲解一下如何基于Vue方法实现简单计时器。 前置知识 在学习本攻略前,需要你掌握以下内容: Vue.js基础知识,包括组件、数据绑定、生命周期等 Vue方法,包括计算属性、监听器、函数以及方法的使用 准备工作 在开始编写计时器之前,需要在Vue项目中创建一个组件,用来接收我们的计时器代码。 <template> <div> &…

    Vue 2023年5月29日
    00
  • 基于Vue3实现数字华容道游戏的示例代码

    下面是基于Vue3实现数字华容道游戏的示例代码的详细攻略: 目录结构 我们的项目目录结构如下所示: |—— index.html |—— main.js |—— components | |—— GameBoard.vue | |—— GameTile.vue |—— assets | |—— images | |—— 1.png | |—— 2.png |…

    Vue 2023年5月29日
    00
  • Vue 中指令v-bind动态绑定及与v-for结合使用详解

    让我详细讲解一下“Vue 中指令v-bind动态绑定及与v-for结合使用详解”,包含两条示例说明。 一、Vue 中指令v-bind动态绑定 在 Vue 中,通过指令 v-bind 可以将动态表达式绑定到 HTML 属性上。 例如,我们可以通过 v-bind 将 href 属性与 url 变量绑定起来,实现动态跳转链接。代码示例如下: <templat…

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