前端数据模拟Mock.js

新建mock-demo的项目,安装npm install mockjs

新建index.js

//引入mockjs
import Mock from 'mockjs'
//设置延迟时间
// Mock.setup({
//     timeout:4000
// })
//使用mockjs模拟数据
Mock.mock('/product/search',{
    "ret":0,
    "data":
     {
        "mtime":"@datetime",//随机生成日期时间
        "score|1-800":1,//随机生成1-800的数字
        "rank|1-100": 1,//随机生成1-100的数字
        "starsl1-5":1,//随机生成1-5的数字
        "nickname":"@cname",//随机生成中文名字
        //生成图片
        "img":"@image('200x100','#ffcc33','#FFF','png','Fast Mock')"
     }
});  

 修改App.vue

<template>
  <div id="app">
    <img alt="Vue logo" src="./assets/logo.png">
  </div>
</template>

<script>
import axios from 'axios'

export default {
  name: 'App',
  mounted: function() {
    axios.get('/product/search').then(res => {
        console.log(res)
      }) 
  }
}
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

修改 main.js

import Vue from 'vue'
import App from './App.vue'
import './mock'

Vue.config.productionTip = false

new Vue({
  render: h => h(App),
}).$mount('#app')

注意安装axios包  npm install axios

 安装完运行

修改App.vue代码

<template>
  <div id="app">
    <!-- <img alt="Vue logo" src="./assets/logo.png"> -->
    <img alt="Vue logo" :src="img">
  </div>
</template>

<script>
import axios from 'axios'

export default {
  name: 'App',
  data: function() {  
    return {
      img: ""
    }
  },
  mounted: function() {
    axios.get('/product/search').then(res => {
        console.log(res.data.data.img)
        this.img = res.data.data.img
      }) 
  }
  // mounted: function() {
  //   axios.get('/product/search').then(res => {
  //       console.log(res)
  //     }) 
  // }
}
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

刷新

 修改App.vue代码

<template>
  <div id="app">
    <!-- <img alt="Vue logo" src="./assets/logo.png"> -->
    <img alt="Vue logo" :src="img">
  </div>
</template>

<script>
import axios from 'axios'

export default {
  name: 'App',
  data: function() {  
    return {
      img: ""
    }
  },
  mounted: function() {
    axios.get('/product/search?id=10').then(res => {
        console.log(res.data.data.img)
        this.img = res.data.data.img
      }) 
  }
  // mounted: function() {
  //   axios.get('/product/search').then(res => {
  //       console.log(res)
  //     }) 
  // }
}
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

修改index.js 

//引入mockjs
import Mock from 'mockjs'
//设置延迟时间
// Mock.setup({
//     timeout:4000
// })
//使用mockjs模拟数据
// Mock.mock('/product/search',{
//     "ret":0,
//     "data":
//      {
//         "mtime":"@datetime",//随机生成日期时间
//         "score|1-800":1,//随机生成1-800的数字
//         "rank|1-100": 1,//随机生成1-100的数字
//         "starsl1-5":1,//随机生成1-5的数字
//         "nickname":"@cname",//随机生成中文名字
//         //生成图片
//         "img":"@image('200x100','#ffcc33','#FFF','png','Fast Mock')"
//      }
// });  
Mock.mock(RegExp('/product/search.*'),{
    "ret":0,
    "data":
     {
        "mtime":"@datetime",//随机生成日期时间
        "score|1-800":1,//随机生成1-800的数字
        "rank|1-100": 1,//随机生成1-100的数字
        "starsl1-5":1,//随机生成1-5的数字
        "nickname":"@cname",//随机生成中文名字
        //生成图片
        "img":"@image('200x100','#ffcc33','#FFF','png','Fast Mock')"
     }
});  

刷新不变

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值