vue如何加载本地json数据

加载本地的JSON数据通常有两种方法:

方法一:通过ajax方式

1.首先,在Vue.js工程的目录下建立一个data目录,将要加载的 JSON 文件复制到这个目录下。

2.在组件中,使用ajax工具去请求这个文件,并在回调函数中将请求到的数据赋值给组件的数据变量。我们可以在组件的生命周期的某个时刻(如created)中调用这个ajax请求。

<template>
  <div>
    <ul>
      <li v-for="item in items">{{ item.title }}</li>
    </ul>
  </div>
</template>
<script>
  import axios from 'axios';

  export default {
    data() {
      return {
        items: []
      };
    },
    created() {
      axios.get('./data/items.json')
        .then((result) => {
          this.items = result.data;
        });
    }
  };
</script>

上述代码中,我们通过axios工具去获取了在./data目录下的items.json文件中的数据,并在成功后将数据赋值给items数组,然后渲染到页面中。

方法二:直接使用ajax请求,不利用axios

1.首先,在Vue.js工程的目录下建立一个data目录,将要加载的 JSON 文件复制到这个目录下。

2.在组件中,直接发送ajax请求获取本地JSON数据。

<template>
  <div>
    <ul>
      <li v-for="item in items">{{ item.title }}</li>
    </ul>
  </div>
</template>
<script>
  export default {
    data() {
      return {
        items: []
      };
    },
    created() {
      let xmlhttp = new XMLHttpRequest();
      xmlhttp.onreadystatechange = () => {
        if (xmlhttp.readyState === XMLHttpRequest.DONE) {
          if (xmlhttp.status === 200) {
            this.items = JSON.parse(xmlhttp.responseText);
          } else {
            console.log('Error: ' + xmlhttp.statusText);
          }
        }
      };

      xmlhttp.open("GET", "./data/items.json", true);
      xmlhttp.send();
    }
  };
</script>

上述代码中,我们直接使用原生XMLHttpRequest对象发送请求,在回调函数中获取本地JSON数据,并将其赋值给item数组,供后续的渲染使用。

两种方法都可以成功的加载本地JSON数据。具体应该选择哪种方法,应视开发需求或者团队约定而定。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue如何加载本地json数据 - Python技术站

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

相关文章

  • Vue 检测变化的注意事项

    当我们使用 Vue 来开发网页应用程序时,经常需要监听数据的变化并进行相应处理。在这个过程中,我们需要注意一些细节问题以确保程序的正确性。下面就是关于 Vue 检测变化的注意事项的完整攻略。 1. 响应式对象 在 Vue 中,我们通过将数据对象传入 Vue 实例中来进行响应式绑定。Vue 通过 Object.defineProperty 实现了数据劫持,从而…

    Vue 2023年5月28日
    00
  • vue.set向对象里增加多层数组属性不生效问题及解决

    首先我们来分析一下“vue.set向对象里增加多层数组属性不生效问题”的原因: Vue.js在处理对象和数组时,会对其进行深拷贝。Vue.js中使用Object.defineProperty方法将属性转化为getter/setter,从而在获取属性值和设置属性值时,都可监听到并作出反应。但是在对象和数组中需要添加新属性或元素时,Vue.js就无法进行响应处理…

    Vue 2023年5月29日
    00
  • 关于Vue 监控数组的问题

    关于Vue 监控数组的问题,我们可以通过 Vue 中的 computed 属性和 watch 属性来完成监控数组的操作。 监听数据的变化 Vue 提供了一种方法,以便自动跟踪数组的变化。这个方法是使用 Vue.set 或者是修改数组的长度来改变数组变化。在这个方法之后,组件会自动地更新记录数组。在实际应用中,我们常常使用 Array.push()、Array…

    Vue 2023年5月28日
    00
  • Vue中如何使用base64编码和解码

    首先,我们需要明确一下base64编码和解码的概念。Base64是一种用来将二进制数据编码为ASCII字符的编码方式。解码则是将base64编码的数据还原成原本的二进制数据。 在Vue中使用base64编码和解码非常简单,我们可以通过两个内置的方法进行操作,分别是btoa()和atob()。 btoa()方法 btoa()方法可以将字符串进行base64编码…

    Vue 2023年5月27日
    00
  • Vue组件开发之异步组件详解

    Vue组件开发之异步组件详解 什么是异步组件 异步组件,即按需加载组件,是指将组件拆分成各个小模块,并根据需要动态加载组件。这样可以在首次加载应用时,只加载必要的资源,以提升应用的性能。 异步组件使用方法 在 Vue.js 中,如何使用异步组件呢?在 Vue.js 中,我们可以通过 import() 语法或使用特殊的 async component 语法定义…

    Vue 2023年5月28日
    00
  • Vue-CLI多页分目录打包的步骤记录

    下面就来详细讲解一下“Vue-CLI多页分目录打包的步骤记录”的完整攻略。 Vue-CLI多页分目录打包的背景 在Vue的开发中,通常会使用到Vue-CLI脚手架工具来快速创建一个Vue项目,但默认情况下Vue-CLI创建的是单页应用,而有些场景需要创建多页应用。多页应用指的是一个网站包含多个入口页面,并且每个入口页面处理不同的业务逻辑,这种情况下需要使用多…

    Vue 2023年5月28日
    00
  • 深入了解vue-router原理并实现一个小demo

    介绍 Vue-Router 是 Vue.js 官方的路由管理器,它和 Vue.js 核心深度集成,让构建单页面应用变得易如反掌。Vue-Router 提供了两种模式:Hash 模式和 History 模式。Hash 模式下,URL 中的 Hash 值(#)用来模拟传统意义上的路由,而在 History 模式下,使用了 HTML5 History API 中新…

    Vue 2023年5月28日
    00
  • 微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb

    针对“微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb”的问题,我会给出完整的攻略步骤,具体如下: 一、问题背景 在开发微信小程序过程中,我们经常需要设置导航栏底部的tabBar,其中每个icon的大小不得超过40KB。一旦超过了这个限制,开发者工具和真机都将无法显示对应的icon图标。 二、解决方案 对…

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