Vue之使用mockjs生成模拟数据案例详解
作者:般若Neo 发布时间:2024-05-29 22:24:40
标签:vue,mockjs
在项目中安装mockjs
在项目目录下执行以下安装命令
npm install mockjs --save
在Vue项目中使用mockjs的基本流程
安装完成后,在项目src/utils目录下新建mock.js(可自行定义所在目录及文件名),用于生成模拟数据。
// 引入mockjs
const Mock = require('mockjs')
// 生成模拟数据
const test = function() {
return Mock.mock({
// 属性list的值是一个数组,其中含有 1 到 10 个元素
'list|1-10': [{
// 属性id是一个自增数,起始值为 1,每次增 1
'id|+1': 1,
// 通过占位符生成随机数据
'name': '@name',
'age': '@natural(18, 100)',
'email': '@email'
}]
});
}
// 映射访问的url
// 此处表示当Ajax请求/mock/test路径时,会映射执行test函数
Mock.mock('/mock/test', test)
在项目src/api目录下,新建MockSrv.js,用于响应Ajax请求。
import axios from 'axios'
import mock from '@/utils/mock'
export default {
testMock() {
return axios.get('/mock/test')
}
}
在组件中请求Mock生成的模拟数据。
<script>
import MockSrv from '@/api/MockSrv'
export default {
name: 'App',
mounted() {
MockSrv.testMock().then(function(resp) {
console.log("Mock:", resp.data);
});
}
}
</script>
执行结果
Mock语法规范
数据模板定义规范(Data Template Definition,DTD)
数据模板中的每个属性由 3 部分构成:属性名、生成规则、属性值:
// 属性名 name
// 生成规则 rule
// 属性值 value
'name|rule': value
数据占位符定义规范(Data Placeholder Definition,DPD)
占位符 只是在属性值字符串中占个位置,并不出现在最终的属性值中。
占位符 的格式为:
@占位符
@占位符(参数 [, 参数])
Mock.mock({
name: {
first: '@FIRST',
middle: '@FIRST',
last: '@LAST',
full: '@first @middle @last'
}
})
Mock.mock()
根据数据模板生成模拟数据
Mock.mock(rurl?, rtype?, template | function(options))
rurl 可选,表示需要拦截的 URL,可以是 URL 字符串或 URL 正则
rtype 可选,表示需要拦截的 Ajax 请求类型。例如 GET、POST、PUT、DELETE 等
template 可选,表示数据模板,可以是对象或字符串
function(options) 可选,表示用于生成响应数据的函数
options 指向本次请求的 Ajax 选项集,含有 url、type 和 body 三个属性
Mock.Random()
Mock.Random 是一个工具类,用于生成各种随机数据。
Mock.Random 的方法在数据模板中称为『占位符』,书写格式为 @占位符(参数 [, 参数]) 。
var Random = Mock.Random
Random.email()
// => "n.clark@miller.io"
Mock.mock('@email')
// => "y.lee@lewis.org"
Mock.mock( { email: '@email' } )
// => { email: "v.lewis@hall.gov" }
Mock.Random 中的方法与数据模板的 @占位符 一一对应,在需要时还可以为 Mock.Random 扩展方法,然后在数据模板中通过 @扩展方法 引用。
来源:https://blog.csdn.net/hwhsong/article/details/120128424


猜你喜欢
- python协程线程和进程的操作是由程序触发系统接口,最后的执行者是系统;协程的操作则是程序员。协程存在的意义:对于多线程应用,CPU通过切
- 1.业务需求背景业务提供一张底层图片1以及需要在底层图片上添加的图片2,两张图片大小不一致,将小图2添加到底图1中,并在其他的空白部分添加个
- MySQL5.7及以上版本提供直接查询冗余索引、重复索引和未使用过索引的视图,直接查询即可。查询冗余索引、重复索引select * sys.
- 要真说出来哪一个函数能够做得到,还真难。但我们可用下面的代码来进行识别,返回“假”即偶数,返回“真”则奇数: function&n
- Python GUI 库有很多,下面给大家罗列常用的几种 GUI 库。下面介绍的这些GUI框架,能满足大部分开发人员的需要,你可以根据自己的
- 本文实例讲述了Python二叉树定义与遍历方法。分享给大家供大家参考,具体如下:二叉树基本概述:二叉树是有限个元素的几个,如果为空则为空二叉
- 前言在搜集了很多文本语料之后,会开始漫长的数据清洗过程,通常要不断迭代。1. 问题描述有些文本数据中,会包含一些特殊符号。猜想可能是从某些富
- 以下内容都是针对Pytorch 1.0-1.1介绍。很多文章都是从Dataset等对象自下往上进行介绍,但是对于初学者而言,其实这并不好理解
- 创建数据库CREATE DATABASE 语法用于创建一个数据库。语法: PHP MySQL 函数库中,mysql_query()
- 1查看Linux发行版本[root@typecodes ~]# cat /etc/redhat-releaseCentOS Linux re
- 昨天又翻了下前段时间WD内部培训的幻灯片,发现了kejun推荐的一篇好文:Javascript Closures,看了之后受益匪浅。这篇文章
- MySQL使用环境变量TMPDIR的值作为保存临时文件的目录的路径名。如果未设置TMPDIR,MySQL将使用系统的默认值,通常为/tmp、
- 有时候需要把文件中的数据放入到数组中,这里提供了一种方法,可以根据文件结尾的标记进行数据拆分,然后再把拆分的文件放入数组中# -*-codi
- 背景np.loadtxt()用于从文本加载数据。文本文件中的每一行必须含有相同的数据。***loadtxt(fname,dtype=<
- 内涵:正则匹配,正则替换,页面抓取,图片保存 。实用的第一次 Python 代码 参考#!/usr/bin/env pythonimport
- 前言首先图片格式转换的方法有很多,但是转二进制字节流的,我搜了一下午终于在 stackoverflow上搜到了 说一下为什么要在线转这个图片
- 最近在做图片相关的工作,面对各种格式的图片转换,在OpenCV跟Pillow之间来回切换。觉得有必要把这些东西记录下来,以备不时之需。首先介
- python是一种美丽的语言 ,应用范围也很广,有很多的人开始学习python开发,对于初学者,这里有5本经典的书籍,如果你打算用看书来学习
- Python 和 Ruby 也有这样的框架,但因为在实际使用中会不可避免地用到含有同步代码的库,因此没能成长起来,而在 Node.js 之前
- 函数getcache,会自动建立需要的缓存。 代码如下:Function getcache(funsname,isreset,is