【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库,不定期更新.如果你对前端的理解还是写写页面绑绑事件,那你真的是有 ...
随机推荐
- android Run模式也会出现"Waiting for debugger"的解决方法
android Run模式也会出现"Waiting for debugger"的解决方法 出现“waiting for debugger”窗口是在debug模式下运行出现的.但是, ...
- 解疑网络监控卡壳 视觉体验400ms延时
http://security.zol.com.cn/413/4130220.html 我的眼睛可以轻松判断出400ms延时误差,你可以吗?很多用户都反映手机移动监控.PC远程监控视频会卡顿,抛开设备 ...
- 33、iOS10 由于权限问题导致崩溃的大坑
控制台报忠告: This app has crashed because it attempted to access privacy-sensitive data without a usage d ...
- springboot 程序发布到tomcat运行
springboot 一般使用jar 的方式运行,我们需要将程序放到tomcat环境下运行. 步骤如下: 1.修改pom文件. 排除内置的tomcat <dependency> <g ...
- ES6通过使用babel兼容到ie9
1.打开这个地址: https://unpkg.com/babel-standalone@6/babel.min.js 新建babel.min.js,把代码复制进去,然后在jq项目里引用. 2.在下面 ...
- C# Bitmap长宽参数构造的图片对象的每个像素ARGB都是0
var img = new Bitmap(100 , 100); for (int i = 0; i < img.Width; i++) { for (int j = 0; j < i ...
- [指南] 15分钟学会MySQL(Linux版)
原文链接:http://www.mysqlpub.com/thread-348-1-1.html 原创出处:MySQLpub.com , 作者:kider ,转载请注明作者和出处,并不能用于商业用 ...
- 10-padding(内边距)
padding padding:就是内边距的意思,它是边框到内容之间的距离 另外padding的区域是有背景颜色的.并且背景颜色和内容的颜色一样.也就是说background-color这个属性将填充 ...
- MIT molecular Biology 笔记11 位点特异性重组 和 DNA转座
位点特异性重组 和 DNA转座 视频 https://www.bilibili.com/video/av7973580/ 教材 Molecular biology of the gene 7th ed ...
- 25个Linux相关的网站
下面是25个最具有影响力,也是最重要的Linux网站,这些网站提供了Linux的分发包,软件,文件,新闻,以及其它所有的关于Linux的东西.关于Linux的分发包历史,可以看看本站的这篇文章< ...