在vue-cli3中使用axios获取本地json操作

Vue CLI 3中使用axios获取本地JSON的操作步骤如下:

1. 安装依赖

在项目根目录下,使用以下命令安装axios和Vue CLI 3自带的webpack-dev-server:

npm install axios
npm install webpack-dev-server

2. 创建本地JSON文件

在项目的public文件夹下创建一个json文件,例如:

// public/my_data.json

{
  "name": "小明",
  "age": 18,
  "gender": "male"
}

3. 使用axios获取JSON数据

在Vue组件中,可以通过以下方式使用axios获取本地JSON数据:

<template>
  <div>
    <h1>{{ name }}</h1>
    <p>{{ age }}</p>
    <p>{{ gender }}</p>
  </div>
</template>

<script>
import axios from 'axios';

export default {
  data() {
    return {
      name: '',
      age: '',
      gender: ''
    }
  },

  mounted() {
    let vm = this;

    axios.get('/my_data.json')
      .then(function (response) {
        vm.name = response.data.name;
        vm.age = response.data.age;
        vm.gender = response.data.gender;
      })
      .catch(function (error) {
        console.log(error);
      });
  }
}
</script>

上述代码中,我们使用了axios的get方法,来获取public文件夹下的my_data.json文件。在请求成功后,将获取到的数据赋值给Vue实例的data属性,从而使页面中的数据渲染出来。

示例1:使用vue-cli3+axios获取远程JSON数据

有时,我们需要获取远程服务器上的JSON数据,在Vue CLI 3中,同样可以使用axios来完成该操作。例如:

<template>
  <div>
    <h1>{{ title }}</h1>
    <ul>
      <li v-for="item in itemList" :key="item.id">{{ item.name }}</li>
    </ul>
  </div>
</template>

<script>
import axios from 'axios';

export default {
  data() {
    return {
      title: '',
      itemList: []
    }
  },

  mounted() {
    let vm = this;

    axios.get('https://api.example.com/items')
      .then(function (response) {
        vm.title = response.data.title;
        vm.itemList = response.data.items;
      })
      .catch(function (error) {
        console.log(error);
      });
  }
}
</script>

上述代码中,我们使用了axios的get方法,来获取远程服务器上的JSON数据。在请求成功后,将获取到的数据赋值给Vue实例的data属性,从而使页面中的数据渲染出来。

示例2:使用async/await获取JSON数据

我们还可以使用ECMAScript 2017中引入的async/await语法,来简化axios请求。例如:

<template>
  <div>
    <h1>{{ title }}</h1>
    <ul>
      <li v-for="item in itemList" :key="item.id">{{ item.name }}</li>
    </ul>
  </div>
</template>

<script>
import axios from 'axios';

export default {
  data() {
    return {
      title: '',
      itemList: []
    }
  },

  async mounted() {
    let response = await axios.get('https://api.example.com/items');

    this.title = response.data.title;
    this.itemList = response.data.items;
  }
}
</script>

上述代码中,我们使用了async/await语法,将axios的请求转换为异步操作,并等待请求的响应。在响应成功后,直接将响应的数据赋值给Vue实例的data属性,从而使页面中的数据渲染出来。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在vue-cli3中使用axios获取本地json操作 - Python技术站

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

相关文章

  • vue+video.js实现视频播放列表

    下面是关于“vue+video.js实现视频播放列表”的完整攻略。 1. 准备工作 安装 video.js 首先,我们需要安装 video.js。可以使用 npm 命令进行安装: npm install video.js –save 引入 video.js 在 Vue 项目的入口文件(比如 main.js)中,需要引入 video.js 和 video-j…

    Vue 2023年5月28日
    00
  • Template ref在Vue3中的实现原理详解

    下面是针对 “Template ref在Vue3中的实现原理详解” 的完整攻略。 什么是 Template ref? Template ref 是 Vue 组件中用来获取子组件或 HTML 元素的引用的方式,在 Vue2 中我们可以通过 $refs 对象或 $refs 属性来获取对应的引用。如下所示: <template> <div ref…

    Vue 2023年5月27日
    00
  • Vuejs从数组中删除元素的示例代码

    当我们在Vuejs中使用数组时,有时需要删除内部的元素。在本文中,我们将讨论如何使用Vuejs从数组中删除元素的示例代码。 示例1:使用Vuejs的原生方法splice删除元素 Vuejs中可以使用JavaScript原生方法splice()从数组中删除元素。 这个方法接受两个参数,一个是开始的索引,另一个是要删除的元素数量。 // 假设我们有一个数组如下:…

    Vue 2023年5月29日
    00
  • Vue路由vue-router详细讲解指南

    Vue路由vue-router详细讲解指南 什么是Vue路由 Vue路由(vue-router)是Vue.js官方提供的客户端路由工具,它实现了基于组件的页面切换和参数传递。使用Vue路由可以实现单页应用(SPA,Single Page Application)的路由功能。 Vue路由可以通过切换地址栏中的url路径来加载组件并更新页面内容,同时可以传递参数…

    Vue 2023年5月27日
    00
  • Vue多组件仓库开发与发布详解

    我来为您详细讲解“Vue多组件仓库开发与发布详解”的完整攻略。 概述 Vue 多组件仓库开发与发布,意味着我们可以在一个仓库内管理多个 Vue 组件,然后将这些组件发布到 package registry,以便其他人可以通过 npm 安装和使用这些组件。 Vue 组件的开发、测试、打包和发布都需要在仓库内完成,本文将以一个具体的实例进行说明。 前置知识 在进…

    Vue 2023年5月28日
    00
  • 详解vue-cil和webpack中本地静态图片的路径问题解决方案

    下面是 “详解vue-cil和webpack中本地静态图片的路径问题解决方案”的完整攻略: 问题描述 在使用Vue-cli和Webpack时,我们在组件或模板中引用本地或者网络图片时,会发现图片无法正常显示出来。 原因是因为Webpack在打包时,会将所有静态资源文件进行压缩打包,我们在代码中引用图片路径,实际上Webpack已经修改了路径或者将其包含在了m…

    Vue 2023年5月28日
    00
  • 利用Promise自定义一个GET请求的函数示例代码

    下面是利用 Promise 自定义一个 GET 请求的函数示例代码的完整攻略。 1. 准备工作 在开始编写代码之前,需要先了解一下使用 Promise 实现异步请求的基本步骤: 创建一个 Promise 对象,并返回它 在 Promise 对象中执行异步操作,并根据操作结果调用 resolve 或 reject 方法 调用 Promise 对象的 then …

    Vue 2023年5月28日
    00
  • 详解vue2.0脚手架的webpack 配置文件分析

    下面我将为你详细讲解“详解vue2.0脚手架的webpack 配置文件分析”的完整攻略。 一、前言 在进行Vue2.0开发时,使用脚手架可以减少很多配置时间,提高开发效率。而其中的webpack配置文件对整个应用的打包和构建起到了重要的作用。因此,对webpack配置文件进行分析和解读是非常必要的。 二、webpack 配置文件分析 2.1 入口文件配置 在…

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