【mock.js】后端不来过夜半,闲敲mock落灯花 ——南宋·赵师秀
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.js】后端不来过夜半,闲敲mock落灯花 ——南宋·赵师秀的更多相关文章
- 【mock】后端不来过夜半,闲敲mock落灯花 (mockjs+Vuex+Vue实战)
mock的由来[假] 赵师秀:南宋时期的一位前端工程师 诗词背景:在一个梅雨纷纷的夜晚,正处于项目编码阶段,书童却带来消息:写后端的李秀才在几个时辰前就赶往临安度假去了,!此时手头仅有一个简单 ...
- mock.js
mock.js http://mockjs.com/ https://github.com/nuysoft/Mock/wiki 为了完成angularjs的karma测试,看到这个好东东,这货能拦截a ...
- dva框架使用mock.js模拟数据 + fetch请求数据
what DVA? Dva是基于Redux做了一层封装,对于React的state管理,有很多方案,我选择了轻量.简单的Dva. dva 可以很方便就使用mock.js进行数据的模拟. 只需要三步,即 ...
- VUE CLI 3.0 项目引入 Mock.js
mockjs 官网:http://mockjs.com/ 之前没有使用过 mockjs 的同学,请参考官网文档,数据生成规则和方法的调用都有详细说明. 一.通过npm安装依赖包 1. 进入到项目目录, ...
- 使用mock.js进行数据模拟
mock.js的文档真的是无力吐槽,只说明API怎么使用,完全不说明mock.js这个工具怎么用到项目里面,最有意思的是google的大部分文章复制官网的API,不管是react还是Vue都是下面的流 ...
- mock.js模拟ajax数据请求
在我们开发过程中存在着前端页面ui完成了,但是没有接口进行联调数据的情况,现在介绍一下用mock.js来完成数据的请求.这样在后期我们的后台接口完成后只需要更改请求的接口名字即可!前提是你的模拟字段名 ...
- json-server 和mock.js生成大量json数据
JSON-server和mock.jsmock文件夹下 db.json db.jsjson-sever使用 安装:npm install json-server -g/mock 目录下执行json-s ...
- 使用 mock.js 让前端开发与后端独立
直接上代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- 前后端分离(手)-- 使用mock.js(好样的)
## 前言: 本篇博文昨天七夕写的,一天下来被虐得体无完肤,苦逼的单身狗只能学习,对!我爱学习,关掉朋友圈,并写了一篇博文发泄发泄.这次写mock.js的使用,能使前后端分离,分离,分离,重要的是说三 ...
随机推荐
- angular-ui-alert
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- jquery滚动条事件
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...
- Python基础-类
Python基础-类 @(Python)[python, python基础] 写在前面 如非特别说明,下文均基于Python3 摘要 本文重点讲述如何创建和使用Python类,绑定方法与非绑定方法的区 ...
- workday1
前天是实习的第一天,现在补下感想 总的来说还是不错的,师兄很nice,师妹很羞涩,我很尴尬,我的交际能力还是有待提高(主要是普通话不标准~~~~(>_<)~~~~) 早上由华工C12穿梭到 ...
- Mongodb 参数说明及常见错误处理
在 CentOS7 上安装 MongoDB 1 通过 SecureCRT 连接至 CentOS7 服务器: 2 进入到 /usr/local/ 目录:cd /usr/local 3 在当前目录下 ...
- Spring Security 概念基础 验证流程
Spring Security 概念基础 验证流程 认证&授权 认证:确定是否为合法用户 授权:分配角色权限(分配角色,分配资源) 认证管理器(Authentication Manager) ...
- JavaScript 语言中的 this
JavaScript 语言中的 this 由于其运行期绑定的特性,JavaScript 中的 this 含义要丰富得多,它可以是全局对象.当前对象或者任意对象,这完全取决于函数的调用方式.JavaSc ...
- database.properties数据源
jdbc.driver_class=oracle.jdbc.driver.OracleDriverjdbc.connection.url=jdbc:oracle:thin:@localhost:152 ...
- Java的数据类型和参数传递
Java提供的数据类型主要分为两大类:基本数据类型和引用数据类型. Java中的基本数据类型 名称 大小 取值范围 byte型 (字节) 8bit -128-127 (-2^7到2^7-1) sho ...
- vue.js 生命周期
boforeCreate 创建之前 created 创建之后 boforeMount 实例化之前 mounted 实例化之后 话不多说,直接上代码 & ...