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日

相关文章

  • Vue 中可以定义组件模版的几种方式

    在 Vue 中,定义组件模版的几种方式如下: 1. 使用 template 属性 通过在组件配置中定义 template 属性,可以在组件实例中定义模版。 Vue.component(‘hello-world’, { template: ‘<div class="hello-world">Hello {{ name }}!&l…

    Vue 2023年5月27日
    00
  • vue使用Google Recaptcha验证的实现示例

    下面是详细的讲解“vue使用Google Recaptcha验证的实现示例”的完整攻略,包括步骤和示例说明。 一、前置步骤 注册Google Recaptcha账号并获取Site key和Secret Key。 在项目中引入Recaptcha的JavaScript库,可以在页面中引入,也可以在vue中通过NPM安装vue-recaptcha组件来引用。 二、…

    Vue 2023年5月27日
    00
  • vue中计算属性和方法的区别及说明

    Vue中计算属性和方法是两种常用的方式来处理数据的操作和计算。它们有不同的特点和用途,下面就具体说一下它们在使用中的区别及说明。 计算属性 计算属性是Vue中用于动态计算和返回结果的属性。计算属性会根据响应式数据的变化自动更新计算结果。计算属性有以下几个特点: 计算属性会缓存计算结果,只有在响应式数据发生变化时才会重新计算。这种缓存主要是为了避免重复计算和提…

    Vue 2023年5月27日
    00
  • vue codemirror实现在线代码编译器效果

    实现在线代码编译器效果的步骤如下: 步骤一:搭建Vue项目 安装Vue CLI:在命令行输入 npm install -g @vue/cli 进行全局安装。 创建项目:在命令行输入 vue create my-project,创建一个名为 my-project 的新项目。 进入项目文件夹并启动项目:在命令行输入 cd my-project &&amp…

    Vue 2023年5月28日
    00
  • 如何在Vue中使用debouce防抖函数

    当我们在Vue组件中使用一些高频操作时,例如input事件的实时搜索,我们会发现输入一个字母就会发送一次请求,导致不必要的请求和资源浪费,这时候可以通过引入debounce防抖函数进行优化。下面是关于在Vue中使用debounce防抖函数的完整攻略: 1. 安装lodash debounce函数通常是使用lodash库中的_.debounce函数来实现的,因…

    Vue 2023年5月28日
    00
  • vue-jsonp的使用及说明

    一、vue-jsonp的说明 vue-jsonp是一个Vue.js插件,它允许我们使用JSONP方法向API服务器请求数据。JSONP是一种跨域访问数据的方法,它通过动态添加标签来实现异步加载,一般使用起来比较简单。在Vue.js中,我们可以借助vue-jsonp这个插件,使用方式也是非常简单的。 二、安装vue-jsonp 如果想使用vue-jsonp,首…

    Vue 2023年5月28日
    00
  • 简单了解Vue computed属性及watch区别

    下面就是“简单了解Vue computed属性及watch区别”的完整攻略。 一、computed属性 在Vue中,computed属性是一个带有缓存的计算属性,也就是说,computed属性只会在它依赖的数据发生变化时才会重新计算一次,否则会直接返回之前缓存的结果。 1.1 定义computed属性 computed属性的定义类似于Vue的数据属性,你可以…

    Vue 2023年5月28日
    00
  • vue 数组和对象不能直接赋值情况和解决方法(推荐)

    下面就来详细讲解一下“Vue 数组和对象不能直接赋值情况和解决方法”的完整攻略。 问题描述 在 Vue 中,我们经常需要对数据进行赋值操作。但是在进行数组或对象的赋值时,我们有时会遇到无法直接赋值的情况。例如: // 定义一个对象并初始化 let obj = { name: ‘John’, age: 25 } // 将一个新的对象赋值给 obj obj = …

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