mock.js 测试数据(vue + axios)

npm install mockjs
mock01.js
var Mock = require('mockjs');
var data = Mock.mock({
  'users|3-6': [{
    'id|+1': 1,
    'name':'@cfirst@cname',
    'img':()=>Mock.Random.image('80x80', Mock.Random.color(),Mock.Random.province())
  }]
});
console.log(JSON.stringify(data, null, 4))
module.exports =()=>{  return data;  };
json-server mock01.js     //  打开  http://localhost:3000/users
http://localhost:3000/users 展示:
[
  {
    "id": 1,
    "name": "段金军",
    "img": "http://dummyimage.com/80x80/f279ca&text=浙江省"
  },
  {
    "id": 2,
    "name": "罗姚超",
    "img": "http://dummyimage.com/80x80/79eef2&text=台湾"
  },
  {
    "id": 3,
    "name": "苏孙平",
    "img": "http://dummyimage.com/80x80/f2d379&text=广东省"
  },
  {
    "id": 4,
    "name": "陆赖磊",
    "img": "http://dummyimage.com/80x80/af79f2&text=湖南省"
  }
]

index.html (vue + axios-get

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>cookie_fzx</title>
  <script src="https://cdn.bootcss.com/vue/2.6.10/vue.js"></script>
  <script src="https://cdn.bootcss.com/axios/0.19.0-beta.1/axios.min.js"></script>
</head>
<body>
  <div id="app">
    <div v-for="user in users">
      {{ user.id  +  " " +  user.name  }}
      <img   :src="user.img"   alt= "" >
    </div>
  </div>
  
  <script>
    new Vue({
      el:'#app',
      data:{  users: null  },
      mounted() { this.getUserInfo();  },
      methods:{
        getUserInfo(){
          var that = this;
          axios.get('http://localhost:3000/users').then(function (response) {
            console.log(response);
            that.users = response.data;
          })
        }
      }
    })
  </script>
</body>
</html>
index.html 展示:

在这里插入图片描述

原理

在这里插入图片描述

index.html (vue + axios-post

    <input type="text"   v-model="inputName">
    <button @click="add(inputName)">cookie_fzx</button>

---------------------------------------------------------------

data:{  users: null,    inputName: null,  },

    add(inputName){
      var that = this;
      axios({
        method: 'post',
        url: 'http://localhost:3000/users',
        data: {
          name: inputName,
        }
      }).then(function (response) {
        that.getUserInfo();
      });

在这里插入图片描述

axios-delete
    axios({
      method: 'delete',
      url: 'http://localhost:3000/users/2',
      data: { }
    }).then(function (response) {
      alert('delete success!')
    });

mock + vuecli

vue create learnmock

cd learnmock

npm install mockjs

scripts/mockdata.js

import Mock from 'mockjs';
const data = Mock.mock({  。。。  });

export default { data }

接下来,在需要用到的mock数据的vue组件页面中,这样写

import mockdata from "@/scripts/mockdata.js";

引用数据,在你methods里面 直接引用刚刚的mockdata即可。例如:

new Promise((resolve, reject) => {
    that.foods =mockdata.data.foods;  //直接点出你生成的假数据对象即可
    that.foodsListLen = that.foods.length;
 }).catch(err=>{
      console.log(err)
 })

来自!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值