vue中使用json-server

简介: vue中使用json-server

流程

1.安装json-server的两个依赖

npm -g i json-server

npm install -g json-server

2.安装axios依赖

npm i axios


3.全局导入axios使用src目录下main.js文件内

import axios from ‘axios’;


4.配置全局默认地址:src目录下main.js文件内

axios.defaults.baseURL = ‘http://localhost:8081’


5.创建一个json文件夹,json文件夹内新创一个data.json

在这里json数据如下:



{
  "list": [
    {
      "id": 1,
      "name": "吃饭",
      "flag": false
    },
    {
      "id": 2,
      "name": "睡觉",
      "flag": true
    },
    {
      "id": 3,
      "name": "打豆豆",
      "flag": true
    }
  ]
}

6.新建终端选择json文件夹运行:

json-server --watch --port 8081 data.json


7.复制运行得到的链接进浏览器运行出结果如下:



8.接下来就是App.vue里的代码:

8.1:data中设置一个新的数组:用来接收json的数据

 data() {
    return {
      data: [],
    };
  },

8.2:在methods方法内新建一个方法用来获取json的数据

async getList() {
      const result = await axios.get("list");
      this.data = result.data;
    },

8.3methods方法外面新建一个生命周期函数:created(){}

created() {
    this.getList();
  },

8.4将获取到的值放入页面上显示:

<div>
   <table border>
     <tr>
       <td>id</td>
       <td>name</td>
       <td>flag</td>
     </tr>
     <tr v-for="item in data" :key="item.id">
       <td>{{ item.id }}</td>
       <td>{{ item.name }}</td>
       <td><input type="checkbox" v-model="item.flag" @change="complete(item)" /></td>
     </tr>
   </table>
 </div>

8.5:如图:


9.修改点击复选框修改json中flag的值

9.1:复选框里面设置一个chang事件

9.2:methods方法内部使用change方法

methods: {
    // 获取json的值
    async getList() {
      const result = await axios.get("list");
      this.data = result.data;
    },
    // 修改状态
    async complete(item) {
      const result = await axios.patch(`list/${item.id}`, {
        flag: item.flag,
      });
      if (result.status !== 200) return console.log("修改状态失败");
      alert("修改成功");
    },
  },

这个时候你再去改变input框状态时,刷新一下你的json文件,你就会发现你的json文件的数据也被修改了。


不止是可以修改input框的状态,还有如下方法:


使用:查询:get axios.get(“list”)


模糊查询:get axios.get(list?name_like=${this.findInput}) //需要在请求地址中携带一个_like=‘xx’


增加:post axios.post(“list”, this.xxx);


删除:delete axios.delete(list/${id})


修改:1.put : 全量的修改,会把原来所有的数据覆盖掉,需要改的和不需要改的都需要传参 2.patch : axios.patch(list/${item.id}, {flag:item.flag});


还有更多操作需要自己去了解一下,这个json-server在前端是非常好用的一个东西。


相关文章
|
7月前
|
JSON JavaScript 前端开发
前端 ex2json 用于 vue/react/js 将 xls、xlsx、csv 文件转成 json 数组
前端 ex2json 用于 vue/react/js 将 xls、xlsx、csv 文件转成 json 数组
175 0
|
7月前
|
JavaScript
Vue 项目使用 json-editor (二)
Vue 项目使用 json-editor (二)
338 0
|
3月前
|
JSON JavaScript 数据格式
vue写入json数据到文本中+vue引入cdn的用法
vue写入json数据到文本中+vue引入cdn的用法
57 10
|
4月前
|
JSON JavaScript 前端开发
Vue项目使用Cookie,以Json格式存入与读取Cookie,设置过期时间以及删除操作
这篇文章介绍了在Vue项目中如何使用JavaScript操作Cookie,包括设置、读取、设置过期时间以及删除Cookie的方法。
302 0
|
4月前
|
存储 资源调度 JavaScript
package.json——从vue的package.json来详细说明package.json内容
package.json——从vue的package.json来详细说明package.json内容
184 0
|
5月前
|
JSON JavaScript 数据格式
vue 处理JSON文件——上传导入、下载导出、在线预览
vue 处理JSON文件——上传导入、下载导出、在线预览
167 7
|
5月前
|
JSON JavaScript 数据格式
vue 格式化展示json(含彩色样式)
vue 格式化展示json(含彩色样式)
422 1
|
5月前
|
JavaScript
Vue如何查看node版本---- package.json 文件中的 engines
Vue如何查看node版本---- package.json 文件中的 engines
|
5月前
|
JavaScript
vue项目中package.json的个人见解
总的来说,package.json文件是Vue项目的心脏,它记录了项目运行所需的所有信息,是项目能够顺利运行和维护的关键。
92 0
|
5月前
|
JSON JavaScript 数据格式
vue 电子表格Excel的上传导入、导出下载、读取本地Excel、json转Excel
vue 电子表格Excel的上传导入、导出下载、读取本地Excel、json转Excel
384 0