mock笔记
//mock功能
// 根据数据模板生成模拟数据
// 模拟 Ajax 请求,生成并返回模拟数据
// 基于 HTML 模板生成模拟数据
//Mock核心是 Mock.mock()
//参数 Mock.mock(url,type,datatempolate|function())
//数据模板
Mock.mock({
'name':'翠翠',
'sex':'',
'age':''
})
//Mock.mock(url,datatempolate) 模拟ajax,对应ajax的url,并返回数据
Mock.mock('http:www.bbb.com',{
'name':'翠翠',
'sex':'',
'age':''
})
//Mock.mock(url,function(opt)) 模拟ajax,把函数结果作为返回数据
Mock.mock('http://wwww',function(id){
//..... 处理程序
//id 是传入的参数
})
//Mock.mock(url,type,datatempolate|function()) type 是ajax的请求方式,也可以是请求的类型标识,若url相同,type区分是请求的那部分数据
Mock.mock('http:www.bbb.com','get',{
'name':'翠翠',
'sex':'',
'age':''
})
Mock.mock('http://wwww','post',function(id){
//..... 处理程序
//id 是传入的参数
})
//Mock.valid(template,data) 这个函数用来判断,数据模板和数据是否一样,
//Mock.toJSONSchema(template) 将 template风格的数据模板转为 json Schema
var tep=Mock.mock({
'name':'hello',
'color':'red'
})
var shem=Mock.toJSONSchema(tep)
//Mock.Random 这是一个工具,生成各种类型的随机数据
//Mock.Random的方法在模板数据中被称为占位符
//Mock.Random() 使用的几种写法
var Random=Mock.Random;
var em1=Random.email();
//.........
var em2=Mock.mock('@EMAIL');
//.........
var em3=Mock.mock({
'email':'@EMAIL'
})
//console.log(em1) ===>[email protected]
//console.log(em2) ==> [email protected]
//console.log(em3) ===>> email:'[email protected]'
//直接调用Random.email()方法时 email小写 而在模板中 大写@EMAIL,小写也可以。这是建议的编码风格
// Mock.js 把 Mock.Random 暴露给了 window 对象,使之成为全局变量,从而可以直接访问 Random。因此上面例子中的 var Random = Mock.Random; 可以省略
Random.extend({
constellations: ['白羊座', '金牛座', '双子座', '巨蟹座', '狮子座', '处女座', '天秤座', '天蝎座', '射手座', '摩羯座', '水瓶座', '双鱼座'],
constellation: function(date){
return this.pick(this.constellations)
}
})
Random.constellation()
// => "水瓶座"
Mock.mock('@CONSTELLATION')
// => "天蝎座"
Mock.mock({ constellation: '@CONSTELLATION'})
// => { constellation: "射手座" }
// 根据数据模板生成模拟数据
// 模拟 Ajax 请求,生成并返回模拟数据
// 基于 HTML 模板生成模拟数据
//Mock核心是 Mock.mock()
//参数 Mock.mock(url,type,datatempolate|function())
//数据模板
Mock.mock({
'name':'翠翠',
'sex':'',
'age':''
})
//Mock.mock(url,datatempolate) 模拟ajax,对应ajax的url,并返回数据
Mock.mock('http:www.bbb.com',{
'name':'翠翠',
'sex':'',
'age':''
})
//Mock.mock(url,function(opt)) 模拟ajax,把函数结果作为返回数据
Mock.mock('http://wwww',function(id){
//..... 处理程序
//id 是传入的参数
})
//Mock.mock(url,type,datatempolate|function()) type 是ajax的请求方式,也可以是请求的类型标识,若url相同,type区分是请求的那部分数据
Mock.mock('http:www.bbb.com','get',{
'name':'翠翠',
'sex':'',
'age':''
})
Mock.mock('http://wwww','post',function(id){
//..... 处理程序
//id 是传入的参数
})
//Mock.valid(template,data) 这个函数用来判断,数据模板和数据是否一样,
//Mock.toJSONSchema(template) 将 template风格的数据模板转为 json Schema
var tep=Mock.mock({
'name':'hello',
'color':'red'
})
var shem=Mock.toJSONSchema(tep)
//Mock.Random 这是一个工具,生成各种类型的随机数据
//Mock.Random的方法在模板数据中被称为占位符
//Mock.Random() 使用的几种写法
var Random=Mock.Random;
var em1=Random.email();
//.........
var em2=Mock.mock('@EMAIL');
//.........
var em3=Mock.mock({
'email':'@EMAIL'
})
//console.log(em1) ===>[email protected]
//console.log(em2) ==> [email protected]
//console.log(em3) ===>> email:'[email protected]'
//直接调用Random.email()方法时 email小写 而在模板中 大写@EMAIL,小写也可以。这是建议的编码风格
// Mock.js 把 Mock.Random 暴露给了 window 对象,使之成为全局变量,从而可以直接访问 Random。因此上面例子中的 var Random = Mock.Random; 可以省略
//在 Node.js 中,仍然需要通过 Mock.Random 访问。
Random.extend({
constellations: ['白羊座', '金牛座', '双子座', '巨蟹座', '狮子座', '处女座', '天秤座', '天蝎座', '射手座', '摩羯座', '水瓶座', '双鱼座'],
constellation: function(date){
return this.pick(this.constellations)
}
})
Random.constellation()
// => "水瓶座"
Mock.mock('@CONSTELLATION')
// => "天蝎座"
Mock.mock({ constellation: '@CONSTELLATION'})
// => { constellation: "射手座" }