mock数据
var arr=['momo','yanzi','ziwei']
var obj={
'host':'www.baidu',
'port':'12345',
'node':'selector'
}
Mock.mock('http://www.bai.com',{
'firstName|3':'fei',//重复fei这个字符串 3 次,打印出来就是'feifeifei'。
'lastName|2-5':'jiang',//重复jiang这个字符串 2-5 次。
'big|+1':0, //属性值自动加 1,初始值为 0
'age|20-30':25,//生成一个大于等于 20、小于等于 30 的整数,属性值 25 只是用来确定类型
'weight|100-120.2-5':110.24,//生成一个浮点数,整数部分大于等于 100、小于等于 120,小数部分保留 2 到 5 位。
'likeMovie|1':Boolean,//随机生成一个布尔值,值为 true 的概率是 1/2,值为 false 的概率同样是 1/2。
'friend1|1':arr,//从数组 arr 中随机选取 1 个元素,作为最终值。
'friend2|+1':arr,//从属性值 arr 中顺序选取 1 个元素,作为最终值
'friend3|2-3':arr,//通过重复属性值 arr 生成一个新数组,重复次数大于等于 2,小于等于 3。
'life1|2':obj,//从属性值 obj 中随机选取 2 个属性
'life1|1-2':obj,//从属性值 obj 中随机选取 1 到 2 个属性。
'regexp1':/^[a-z][A-Z][0-9]$/,//生成的符合正则表达式的字符串
})
$.ajax({
url:'http://www.bai.com',
dataType:'json',
success:function(e){
console.log(e)
}
})
vue中使用mock数据
npm install mockjs --save-dev
1
使用
1、新建mock.js
import Mock from 'mockjs'
Mock.mock("/getTest",{
"name1|1-3": 'a',
"name2|2": 'b',
});
2、新建vue文件
3、main.js
import Mock from "./javascript/mock"
数据增删改查模拟与调用
import Mock from 'mockjs'
// 模拟数据列表
var arr = [];
for (let i = 0; i < 10; i++) {
let newArticleObject = {
name: '小明',
content: '内容',
id: i
}
arr.push(newArticleObject); //将模拟的数据放到数组中
}
// 数据的删除操作
let list = function (options) {
// console.log(options.type);
let rtype = options.type.toLowerCase(); //获取请求的类型并转换为小写
switch (rtype) {
case 'get':
break;
case 'post':
let id = parseInt(JSON.parse(options.body).params.id); // 获取请求的id,将options.body转换为JSON对象
arr = arr.filter(function (val) {
return val.id != id; // 过滤掉前台传过来的id对应的相应数据,并重新返回
});
break;
default:
break;
}
return {
data: arr
}
}
Mock.mock('/list', /get|post/i, list);
// 数据的添加操作
let listAdd = function (options) {
// console.log("传过来的数据"+JSON.parse(options.body).params.obj);
let obj = JSON.parse(options.body).params.obj;
// console.log("数据获取"+ obj);
arr = arr.concat(obj); // 将前台返回来的数据,拼接到数组中。
return {
data: arr
}
}
Mock.mock('/listAdd', /get|post/i, listAdd);
// 数据的修改操作
let listUpdate = function (options) {
let obj = JSON.parse(options.body).params.obj;
// console.log(JSON.parse(options.body).params);
// let id = parseInt(JSON.parse(options.body).params.obj.id);
arr = arr.map(val => { // 将需要替换的数据替换掉
// console.log(val)
return val.id == obj.id ? obj : val;
});
return {
data: arr
}
}
Mock.mock('/listUpdate', /get|post/i, listUpdate);
vue中调用
<button @click="addList">添加
<button @click="updateList">修改
<button @click="deleteList(item.id)">删除