刚接触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之初体验的更多相关文章

  1. .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验

    不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...

  2. Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验

    Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...

  3. Spring之初体验

                                     Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...

  4. Xamarin.iOS开发初体验

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAAA+CAIAAAA5/WfHAAAJrklEQVR4nO2c/VdTRxrH+wfdU84pW0

  5. 【腾讯Bugly干货分享】基于 Webpack & Vue & Vue-Router 的 SPA 初体验

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57d13a57132ff21c38110186 导语 最近这几年的前端圈子,由于 ...

  6. 【Knockout.js 学习体验之旅】(1)ko初体验

    前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...

  7. 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验

    在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...

  8. 百度EChart3初体验

    由于项目需要在首页搞一个订单数量的走势图,经过多方查找,体验,感觉ECharts不错,封装的很细,我们只需要看自己需要那种类型的图表,搞定好自己的json数据就OK.至于说如何体现出来,官网的教程很详 ...

  9. Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验

    Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出E ...

随机推荐

  1. 5、抽象工厂 abstract factory 将关联组件组成产品 创建型模式

    趁热打铁,紧跟着上一节的工厂方法模式.这一节介绍一下抽象工厂模式,以及分析俩个模式的不同 1.何为抽象模式? 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他 ...

  2. IIS站点管理-IIS站点以管理员身份或指定用户运行

    PS:概要.背景.结语都是日常“装X”,可以跳过直接看应用程序池设置 环境:Windows Server 2008.阿里云ECS.IIS7.0 概要 IIS应用程序默认情况下,是使用内置帐户运行的,权 ...

  3. axios的post请求返回状态码400

    设置拦截 axios.interceptors.request.use((config) => { if (config.method === 'post') { if (!config.isF ...

  4. Eclipse变得很卡

    半个月前,发现Eclipse很卡很卡,尤其在按住Ctrl选择方法的实现类的时候,电脑的反应速度让开发者无法忍受. Eclipse还经常未响应状态. 开始以为Eclipse的运行内存设置小了,把ecli ...

  5. C#LeetCode刷题之#530-二叉搜索树的最小绝对差(Minimum Absolute Difference in BST)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4123 访问. 给定一个所有节点为非负值的二叉搜索树,求树中任意两 ...

  6. 基于.NetCore3.1系列 —— 日志记录之自定义日志组件

    一.前言 回顾:日志记录之日志核心要素揭秘 在上一篇中,我们通过学习了解在.net core 中内置的日志记录中的几大核心要素,在日志工厂记录器(ILoggerFactory)中实现将日志记录提供器( ...

  7. JMeter软件测试工具介绍及基本安装教程

    一.工具介绍 (一)简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试 ...

  8. iOS Abort问题系统性解决方案

    一.背景 崩溃(Crash),即闪退,多指移动设备(如iOS.Android设备)在打开/使用应用程序的过程中,突然出现意外退出/中断的情况.如果App线上版本频繁发生崩溃,会极大地影响用户体验,甚至 ...

  9. 带你用 Python 实现自动化群控设备

    1. 前言 群控,相信大部分人都不会陌生!印象里是一台电脑控制多台设备完成一系列的操作,更多的人喜欢把它和灰产绑定在一起! 事实上,群控在自动化测试中也被广泛使用!接下来的几篇文章,我将带大家聊聊企业 ...

  10. 几种定时任务(Timer、TimerTask、ScheduledFuture)的退出—结合真实案例【JAVA】

    工作中常常会有定时任务的开发需求,特别是移动端.最近笔者正好有所涉及,鉴于此,结合开发中的案例说明一下几种定时任务的退出. 需求说明:定时更新正在生成的文件大小和状态[进行中.失败.完成],如果文件生 ...