Vue数据传输(晓舟报告笔记)

看一下结构
请添加图片描述
后台
serve.js没啥用处,就是写了一个fruitList模拟数据库,然后提供三个方法get、post、delete

const Koa = require("koa");
const parser = require("koa-parser"); //获取post请求数据
const router = require("koa-router")(); //设置路由
const cors = require('koa2-cors'); //允许跨域
const app = new Koa();

app.use(cors());
app.use(parser());
app.use(router.routes());

//模拟数据库
const fruitList = ["香蕉", "苹果", "鸭梨"];

//get方法:获取水果列表
router.get("/fruits", async ctx => {
    ctx.body = fruitList;
})
//post方法:添加水果
router.post("/fruits", async ctx => {
    let fruit = ctx.request.body.fruit;
    fruitList.push(fruit);
    ctx.body = true;
})
//delete方法:删除水果列表
router.delete("/fruits/:index", async ctx => {
    let index = ctx.params.index;
    fruitList.splice(index, 1);
    ctx.body = true;
})

app.listen(3000, () => {
    console.log("色ver")
})

App.vue

<template>
  <div>
    <form @submit.prevent="postData">
      <input type="text" v-model="fruit" />
      <button>add</button>
    </form>
    <ul>
      <li v-for="(i, index) of fruitList" :key="i">
        {{ i }}<button @click="del(index)">delete</button>
      </li>
    </ul>
  </div>
</template>

记得Vue项目中使用如下命令安装

npm install axios --save
在要引用axios的页面引用

import axios from ‘axios’

<script>
import axios from "axios";

export default {
  data() {
    return {
      fruit: "",
      fruitList: [],
    };
  },

  methods: {
    getFruitList() {
      axios.get("http://127.0.0.1:3000/fruits").then((res) => {
        this.fruitList = res.data;
      });
    },
    postData() {
      axios
        .post("http://127.0.0.1:3000/fruits", {
          //对应前面input双向绑定的fruit
          fruit: this.fruit,
        })
        .then((res) => {
          this.getFruitList();
        });
    },
    del(index) {
    //这里用模板字符串因为delete方法要传参${index}
      axios.delete(`http://127.0.0.1:3000/fruits/${index}`).then((res) => {
        this.getFruitList();
      });
    },
  },
  created() {
    //注意拼写
    this.getFruitList();
  },
};
</script>

请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值