首页 > 其他分享 >Vue中JSON文件神奇应用fetch、axios异步加载与模块导入全指南

Vue中JSON文件神奇应用fetch、axios异步加载与模块导入全指南

时间:2024-01-26 09:03:33浏览次数:35  
标签:文件 axios userData JSON Vue data 加载

 

在Vue中使用JSON文件有多种方式,包括使用fetch方法加载JSON文件、使用axios库加载JSON文件,以及将JSON文件导入为模块。以下是详细描述和相应的示例代码:

1. 使用fetch方法加载 JSON 文件:

步骤:

  1. 创建一个 JSON 文件,例如 data.json:
// data.json
{
  "name": "John",
  "age": 25,
  "city": "Example City"
}
  1. 在Vue组件中使用 fetch 方法加载 JSON 文件:
<!-- App.vue -->
<template>
  <div>
    <h1>{{ userData.name }}</h1>
    <p>{{ userData.age }} years old</p>
    <p>City: {{ userData.city }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      userData: {} // 存放JSON数据
    };
  },
  mounted() {
    // 使用fetch方法加载JSON文件
    fetch('data.json')
      .then(response => response.json())
      .then(data => {
        this.userData = data;
      })
      .catch(error => console.error('Error loading JSON:', error));
  }
};
</script>

2. 使用axios库加载 JSON 文件:

步骤:

  1. 安装 axios 库:
npm install axios
  1. 在Vue组件中使用 axios 加载 JSON 文件:
<!-- App.vue -->
<template>
  <div>
    <h1>{{ userData.name }}</h1>
    <p>{{ userData.age }} years old</p>
    <p>City: {{ userData.city }}</p>
  </div>
</template>

<script>
import axios from 'axios';

export default {
  data() {
    return {
      userData: {} // 存放JSON数据
    };
  },
  mounted() {
    // 使用axios加载JSON文件
    axios.get('data.json')
      .then(response => {
        this.userData = response.data;
      })
      .catch(error => console.error('Error loading JSON:', error));
  }
};
</script>

3. 将 JSON 文件导入为模块:

步骤:

  1. 创建一个 JSON 文件,例如 data.json:
// data.json
{
  "name": "Jane",
  "age": 30,
  "city": "Another City"
}
  1. 在Vue组件中导入 JSON 文件:
<!-- App.vue -->
<template>
  <div>
    <h1>{{ userData.name }}</h1>
    <p>{{ userData.age }} years old</p>
    <p>City: {{ userData.city }}</p>
  </div>
</template>

<script>
import userData from './data.json'; // 导入JSON文件

export default {
  data() {
    return {
      userData // 直接使用导入的JSON数据
    };
  }
};
</script>

这三种方法各有优劣,选择适合你项目需求的方法。fetch 和 axios 主要用于在运行时异步加载数据,而将 JSON 文件导入为模块则是在构建时进行的静态导入。

 

标签:文件,axios,userData,JSON,Vue,data,加载
From: https://www.cnblogs.com/hanbing81868164/p/17988548

相关文章

  • vue项目安装更新依赖时,npm install 卡住
    在代码安装或者更新依赖时,经常碰到npminstall以后很多种卡住的情况,记录部分1.版本不对可能电脑存在多个项目,多个node版本。安装使用nvm(node版本管理工具),1.安装,先把已安装的node下载掉https://nvm.uihtm.com/download.html(目前国内可下载)https:/......
  • 2024年1月Java项目开发指南11:axios请求与接口统一管理
    axios中文网:https://www.axios-http.cn/安装npminstallaxios配置在src下创建apis文件夹创建axios.js文件配置如下://src/apis/axios.jsimportaxiosfrom'axios';//创建axios实例constservice=axios.create({baseURL:"http://127.0.0.1:8080",//api的ba......
  • 2024年1月Java项目开发指南10:vite+Vue3项目创建
    新建项目安装routernpminstallvue-router在src下新建目录router,在目录下新建index.js在index.js里面配置路由import{createRouter,createWebHistory}from'vue-router';//定义路由constroutes=[//在这里配置路由];//创建路由实例constrouter=......
  • HTTP 请求体编码用 json 还是 x-www-form-urlencoded
    application/x-www-form-urlencodedapplication/jsonapplication/json对初学者友好application/x-www-form-urlencoded对Postman友好axios和superagent默认使用JSONbody来自专家的建议TheStripeAPIisorganizedaroundREST.OurAPIhaspredictableresour......
  • vue2.x项目升级到2.7
    背景老代码库了,但是升级到v3的话成本比较大,准备先升级到2.7,用上compositon-api,后续再引入ts,慢慢改过来。改动点//package.json{..."vue":"^2.7.0",..."vue-template-compiler":"^2.6.10",//移除掉,用不上了"vue-loader":"^15.10.0&quo......
  • vue print.js 打印 此处打印不包含页面的页码 (打印方法二)
    <template><divclass="modalContainerprintAsset"ref="modalContainer"><divv-for="(items,index)intableDataPrint":key=indexstyle="page-break-after:always;zoom:1"ref="show......
  • C# Json序列化方案选择
    在C#中,进行JSON序列化和反序列化有多种方案可供选择,常用的是下面俩个System.Text.Json:这是.NETCore和.NET5中内置的JSON序列化和反序列化库,提供了高性能和低内存消耗的JSON处理能力。Newtonsoft.Json:这是一个流行的第三方JSON处理库,广泛用于Framework中的JSON序列化和反序列化......
  • uniapp-vue3,封装类似于axios的请求方法
    request.jsimport{rootUrl}from"@/config/app-config.js"importhandleCachefrom'@/utils/cache/cache.js';import{showToast}from"@/utils/vant"import{clearAccountInfo}from'@/utils/clear/clear';import......
  • vue2 手写思维导图编辑器,支持图片和节点拖拽(2)
    弹框模块DigitalXmindDialog.vue<template><el-dialog:title="title"width="1200px"class="auth-dialog"top="5%":append-to-body="true":lock-scroll="false":c......
  • vue2 手写思维导图编辑器,支持图片和节点拖拽(1)
    效果图:支持图片粘贴和布局重新计算可拖拽: 代码结构DigitalXmindDialog.vue//弹框VueXmind//脑图编辑器index.vue//主体编辑器XmindNode.vue//节点文件XmindSvgLine.vue//脑图底部的svg线段绘画板NodeAttributes.vue//右侧主题设置模块XmindStyleMixins......