mock之初体验
刚接触vue的时候,看到github上有人的开源项目介绍使用mock可以模拟接口调用,可以使用模拟数据避免跟后端交互也可以实现前端功能的完美展现,当时觉得卧槽,mock这个东西这么神奇的吗?那一定要学习一下,但是当时工作忙(说实话就是懒。。。),一来二去就给放下了(捂脸。。。)。
近来感谢领导(路人:有拍马屁嫌疑),工作少许轻松了一些,又碰巧平台组的同事,给出组件例子的时候用到了mock,我就认为我学习mock的机会到了,既然天意如此,我就不客气了,mock出招吧!
首先,安装。
找到官网,按步骤来就好了。
其次,开始写接口了,工作使用vue,vue组件跟调接口文件是分开的,结构是这个样子滴,

vue文件,就简单使用ElementUI库,弄了一个table,然后开始就调用一下,
接口调用文件,最简单的接口调用,

里面的api文件,用的axios,

使用mock模拟的接口响应,

然后,页面刷新,返回结果,卧槽,牛*,然而,湿湿的真相是下面这样的。。。

事实是,找到文档,迫不及待,马上control+C,然后Control+V,一顿操作猛如虎,然后“腚眼”一瞧。。。

啪啪啪。。。,表格数据没出来,咋地了嘛,看看返回数据

这我要的是一个数组啊,我的天,怎样才能生成一波数组呢?然后开启百度,一通搜索,功夫不负有心人,终于找到了,

这个时候返回的就是一个数组了,

然后,继续翻文档,发现@date('yyyy-mm-dd')可以传参数,表示日期的格式化模板,@county(true) 也可以传参数,表示县区,之前是否带出自己所属的省市。
呐呐呐,你以为到这里就结束了吗?不不不,新问题又来了,都说好奇害死猫,我可能就是还没被害死的那只猫,文档说,mock还可以是一个生成随机数的工具,比如它的Random,里面可以有好多东东,比如名字,你可以用@cname,也可以用Random.cname(),日期,你可以用@date,也可以用Random.date(),那就果断替换一波吧,然后,画面变成了这个样子

这它喵的是怎么回事?WTF?,然后看文档里也没说啊,开启百度大法吧,半个多小时过去了,依然杳无音信,然后翻github上该项目对应的issues,然后让我找到了,哈哈哈哈,好像就是一个bug吧,作者并没有回应,但是广大网友还是给出了解决办法,那就是使用函数走一波,将Random的东东,全部都用函数return一下就可以了,好像是如果函数的东西,它会重新执行一下,而之前的那种写法,一遍搞定了。

以上都是mock第二个参数是模板的情况,那么第二个参数是函数的情况呢?
原以为,直接将将里面的模板,return不就完了吗?像这样

但是,我毕竟还是太年轻了,返回的数据竟然成了这样。。。

模板什么的都没识别,进去什么样,出来还是什么样,那要怎么搞嘛?没办法,继续查资料吧,最后发现return 的时候还可以mock.mock,居然还有这种操作?6666,细细一想,return的时候,随便你,有人就自己造数组,然后for循环,一个一个的push,但这显然不是我想要的,返回mock.mock的时候,里面的东西就又是模板了,仅此而已。

值得一提的是,使用function的方式,其中的req.body还可以获取post带过来的请求参数。
mock之初体验的更多相关文章
- .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...
- Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验
Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...
- Spring之初体验
Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...
- Xamarin.iOS开发初体验
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAAA+CAIAAAA5/WfHAAAJrklEQVR4nO2c/VdTRxrH+wfdU84pW0
- 【腾讯Bugly干货分享】基于 Webpack & Vue & Vue-Router 的 SPA 初体验
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57d13a57132ff21c38110186 导语 最近这几年的前端圈子,由于 ...
- 【Knockout.js 学习体验之旅】(1)ko初体验
前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...
- 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验
在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...
- 百度EChart3初体验
由于项目需要在首页搞一个订单数量的走势图,经过多方查找,体验,感觉ECharts不错,封装的很细,我们只需要看自己需要那种类型的图表,搞定好自己的json数据就OK.至于说如何体现出来,官网的教程很详 ...
- Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验
Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出E ...
随机推荐
- 物联网实验Arduino(1)
回顾 我们使用的平台: Arduino 入门实验1 眨眼睛 /* Blink Turns an LED on for one second, then off for one second, repe ...
- C++虚函数相关内容
样例代码 class Base{public: Base(){}; virtual ~Base(){ //若没有设置为虚函数:如果有这样的指针Base *p=new Derived();声明,则 ...
- QString字符串的查找与截取实例
QString是Qt中封装的字符串类,相对于标准库里的string,使用方法有些不同,个人感觉使用qt习惯后,感觉QString更好用,下面的代码主要是针对QString的字符查找.截取做的测试: # ...
- 3、Template Method 模板方法 行为型设计模式
1.了解模板方法 1.1 模式定义 定义一个操作算法中的框架,而将这些步骤延迟加载到子类中. 它的本质就是固定算法框架. 1.2 解决何种问题 让父类控制子类方法的调用顺序 模板方法模式使得子类可以不 ...
- Nexus2 上传文件
通过管理界面上传 上传文件 hello-nexus.jar 登录 nexus2 选择第三方库 填写文件信息,完成文件上传 在索引页刷新,可以看到上传的文件 服务器上,文件的存放路径是 sonatype ...
- java_环境搭建、变量的使用
java_环境搭建.变量的使用 Java语言开发环境搭建 1. Java虚拟机——JVM JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想 ...
- C#LeetCode刷题-二叉搜索树
二叉搜索树篇 # 题名 刷题 通过率 难度 220 存在重复元素 III 19.3% 中等 315 计算右侧小于当前元素的个数 31.9% 困难 327 区间和的个数 29.5% 困难 3 ...
- TD课程通的使用体验
这个软件一点进去便是石家庄铁道大学,但是那张图片可以尽量的缩小一点比例,可以选择部分,至少能够让人了解到这是什么,另外,可以添加注册功能,或者是使用学号什么的来登录,亦或者手机号码等,整体的展示效果还 ...
- vue.js中 v-for,v-on,v-model,结合应用案例---记事本
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Express Response 之 end /send 傻傻分不清楚
Express是一个轻量的经典的Node.js开启服务和快速路由管理的库.开启服务的方式也是非常的简单 只需要简单的,安装 $ npm install express -------> 引入 ...