【mock】后端不来过夜半,闲敲mock落灯花 (mockjs+Vuex+Vue实战)
mock的由来【假】
mock的由来【真】
mock.js初上手——安装和使用
var Mock = require('mockjs')
var data = Mock.mock({
// 属性 list 的值是一个数组,其中含有 1 到 10 个元素
'list|1-10': [{
// 属性 id 是一个自增数,起始值为 1,每次增 1
'id|+1': 1
}]
})
// 输出结果
console.log(JSON.stringify(data, null, 4))
mock.js抢鲜看——主要的作用和API
mock.js的作用
mock.js的作用,从它文档的首页介绍便可以略知一二:
Mock.Random的运用
var Random = Mock.Random
Random.domain() // "nhou.org.cn"
var Random = Mock.Random
Random.ip() // "74.97.41.159"
Random.url() // "news://wrmt.na/rbcgbws"
var Random = Mock.Random
Random.province() //"海南省"
var Random = Mock.Random
Random.city() // "澳门半岛"
var Random = Mock.Random
Random.city(true) // "广东省 广州市"
var Random = Mock.Random
Random.csentence() // "会候权以解包党心要按总场火义国而片精。"
Random.csentence(5) // "文斗领拉米。"
Random.csentence(3, 5) // "住验住"
var Random = Mock.Random
Random.cparagraph()
// "电力速率离老五准东其引是外适只王。体区先手天里己车发很指一照委争本。究利天易里根干铁多而提造干下志维。级素一门件一压路低表且太马。"
Random.cparagraph(2)
Random.cparagraph(1, 3)
var Random = Mock.Random
Random.rgba() // "rgba(122, 121, 242, 0.13)"
Random.date('yyyy-MM-dd') // "1975-04-27"
Random.date('yy-MM-dd') // "00-01-08"
Random.time() // "05:06:06"
Random.image('200x100', '#4A7BF7', 'Hello')
Random.cname() // "黄秀英"
Random.cfirst() // "龙"
Random.clast() // "秀英"
Mock.mock()的运用
import Vue from 'vue'
//注册Vue-Resource插件,这样我们就可以Vue.http.get(URL)去发出Ajax请求了
import VueResource from 'vue-resource'
Vue.use(VueResource)
var Mock = require('mockjs')
Mock.mock('/penghuwan.com/', 'get', {
// 属性 list 的值是一个数组,其中含有 1 到 10 个元素
'list|1-10': [{
// 属性 id 是一个自增数,起始值为 1,每次增 1
'id|+1': 1
}]
})
// 输出结果
Vue.http.get('/penghuwan.com/').then(
response => {
console.log(response.body)
}
)
demo:
Mock.js小练兵——用Vue + Vuex + mockjs搭建一个简单的文章Feed
<template>
<div id="app">
<template v-for ="(item, index) in articles">
<div :key="index">
<h1 class="title">{{ item.title }}</h1>
<div>
{{ item.content }}
</div>
<div>
<p class="time">{{ '发表时间:' + item.time}}</p>
<p class="location">{{ '发表地址: ' + item.location }}</p>
</div>
</div>
</template>
</div>
</template>
<script>
import { mapGetters, mapActions } from 'vuex'
export default {
mounted: function () {
this.fetchData()
},
methods: {
...mapActions({
fetchData: 'fetchArticlesData'
})
},
computed: {
...mapGetters({
articles: 'getArticles'
})
}
}
</script>
<style scoped>
#app div{
border: 1px solid gray;
padding: 10px;
margin: 10px;
overflow: hidden;
}
#app p{
margin: 0px;
}
.title{
font-size: 16px;
}
.time{
float: left;
}
.location{
float: right;
}
</style>
import Vue from 'vue'
import Vuex from 'vuex'
import VueResource from 'vue-resource'
import App from './app'
import article from './module.js'
Vue.use(Vuex)
Vue.use(VueResource)
// 调用mock的API,使Ajax能够捕获随机数据
require('./mock.js')
// 创建Vuex的store
const store = new Vuex.Store({
modules: {
article
}
})
new Vue({
el: '#app',
template: '<App />',
store: store,
components: { App }
})
var Mock = require('mockjs')
var Random = Mock.Random
const produceData = function () {
let articles = []
for (let i = 0; i < 10; i++) {
let newArticleObject = {
title: Random.csentence(5),
content: Random.cparagraph(5, 7),
time: Random.date() + ' ' + Random.time(),
location: Random.city()
}
articles.push(newArticleObject)
}
return {
articles: articles
}
}
// 第三个参数可以是对象也可以是返回对象的函数
Mock.mock('/article', 'get', produceData)
import Vue from 'vue'
const RESQUEST_ARTICLES = 'RESQUEST_ARTICLES'
export default {
state: {
articles: []
},
getters: {
getArticles: state => state.articles
},
actions: {
fetchArticlesData (context) {
context.commit(RESQUEST_ARTICLES)
}
},
mutations: {
[RESQUEST_ARTICLES] (state) {
Vue.http.get('/article').then(
response => {
let data = response.body
state.articles = data.articles
}
)
}
}
}
【完】
【mock】后端不来过夜半,闲敲mock落灯花 (mockjs+Vuex+Vue实战)的更多相关文章
- 【mock.js】后端不来过夜半,闲敲mock落灯花 ——南宋·赵师秀
mock的由来[假] 赵师秀:南宋时期的一位前端工程师 诗词背景:在一个梅雨纷纷的夜晚,正值产品上线的紧张时期,书童却带来消息:写后端的李秀才在几个时辰前就赶往临安度假去了, 赵师秀非常生气 ...
- 让前端独立于后端进行开发,模拟数据生成器Mock.js
让前端独立于后端进行开发,模拟数据生成器Mock.jsMock.js 是一款模拟数据生成器,旨在帮助前端攻城师独立于后端进行开发,帮助编写单元测试. Home · nuysoft/Mock Wiki ...
- faked 一个用于 mock 后端 API 的轻量工具
一.简介 faked 是一个在前端开发中用于 mock 服务端接口的模块,轻量简单,无需要在本地启动 Server 也无需其它更多的资源,仅在浏览器中完成「请求拉截」,配合完整的「路由系统」轻而易举的 ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十一║Vue实战:开发环境搭建【详细版】
缘起 哈喽大家好,兜兜转转终于来到了Vue实战环节,前边的 6 篇关于Vue基础文章我刚刚简单看了看,感觉写的还是不行呀,不是很系统,所以大家可能看上去比较累,还是得抽时间去润润色,修改修改语句和样式 ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十三║Vue实战:Vuex 其实很简单
前言 哈喽大家周五好,马上又是一个周末了,下周就是中秋了,下下周就是国庆啦,这里先祝福大家一个比一个假日嗨皮啦~~转眼我们的专题已经写了第 23 篇了,好几次都坚持不下去想要中断,不过每当看到群里的交 ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十二║Vue实战:个人博客第一版(axios+router)
前言 今天正式开始写代码了,之前铺垫了很多了,包括 6 篇基础文章,一篇正式环境搭建,就是为了今天做准备,想温习的小伙伴可以再看看<Vue 基础入门+详细的环境搭建>,内容很多,这里就暂时 ...
- [转] 前后端分离开发模式的 mock 平台预研
引入 mock(模拟): 是在项目测试中,对项目外部或不容易获取的对象/接口,用一个虚拟的对象/接口来模拟,以便测试. 背景 前后端分离 前后端仅仅通过异步接口(AJAX/JSONP)来编程 前后端都 ...
- Mock摆脱后端拖拉(借鉴官网)(一)
mock是一个模拟数据生成器,旨在帮助前端独立于后端进行开发,帮助编写单元测试.mock有如下功能 根据数据模板生成模板数据 模拟ajax请求,生成请求数据 基于html模板生成模拟数据 下载安装 n ...
- 一统江湖的大前端(2)—— Mock.js + Node.js 如何与后端潇洒分手
<一统江湖的大前端>系列是自己的前端学习笔记,旨在介绍javascript在非网页开发领域的应用案例和发现各类好玩的js库,不定期更新.如果你对前端的理解还是写写页面绑绑事件,那你真的是有 ...
随机推荐
- 好像leeceode题目我的博客太长了,需要重新建立一个. leecode刷题第二个
376. Wiggle Subsequence 自己没想出来,看了别人的分析. 主要是要分析出升序降序只跟临近的2个决定.虽然直觉上不是这样. 455. 分发饼干 ...
- css字符串转换为类map对象及反转
存储对象为啥是类map(即:{key:val,...}格式),因为Map对象的val为字符时,无法存储 '('.')' 左右括号,我也很无奈╮(╯▽╰)╭ 解析脚本: <!DOCTYPE htm ...
- JWT-Token登陆校验
JWT:就是靠给客户端(浏览器)一个规范凭证(签名),然后服务器解析签名,代替原有的session存值. 不带refreshToken的JWT例子:https://blog.csdn.net/u011 ...
- Servlet 知识点 中文乱码的本质与解决
本质原因:在servlet中出现中文乱码的原因编码和解码采用的不是一个编码表或者两个编码表不是兼容 例如UTF-8编码.GBK编码都可以读取中文,那么如果采用UTF-8编码保存文件,但是采用GBK编码 ...
- 2019.01.13 bzoj1146: [CTSC2008]网络管理Network(整体二分+树剖)
传送门 题意简述:给一棵树,支持单点修改,询问路径上两点间第kkk大值. 思路: 读懂题之后立马可以想到序列上带修区间kkk大数的整体二分做法,就是用一个bitbitbit来支持查值. 那么这个题把树 ...
- 2018.11.09 洛谷P1110 [ZJOI2007]报表统计(multiset)
传送门 sb题. 直接用两个multisetmultisetmultiset维护相邻两个数的差值和所有数的前驱后继. 插入一个数的时候更新一下就行了. 代码: #include<bits/std ...
- SELECT INTO创建临时表
SELECT INTO创建临时表 SQL Server临时表有两种类型:本地和全局.它们在名称.可见性以及可用性上有区别.本地临时表的名称以单个数字符号 (#) 打头:它们仅对当前的用户连接是可见的: ...
- 走进JDK(一)------Object
阅读JDK源码也是一件非常重要的事情,尤其是使用频率最高的一些类,通过源码可以清晰的清楚其内部机制. 如何阅读jdk源码(基于java8)? 首先找到本地电脑中的jdk安装路径,例如我的就是E:\jd ...
- Cannot read property 'protocol' of undefined的原因和解决办法
Cannot read property 'protocol' of undefined 原因:axios请求中的错误 1.请求地址写错了 2.没有引入http.js 3.引入http.js的时候,单 ...
- revoke回收权限的小问题
revoke回收权限的时候,原理是从user/db/tables_priv/columns_priv四个表上delete数据: on *.*的权限在user表上 on xx.*的权限在db表上 on ...