Vue之使用mockjs生成模擬數(shù)據(jù)案例詳解
在項目中安裝mockjs
在項目目錄下執(zhí)行以下安裝命令
npm install mockjs --save
在Vue項目中使用mockjs的基本流程
安裝完成后,在項目src/utils目錄下新建mock.js(可自行定義所在目錄及文件名),用于生成模擬數(shù)據(jù)。
// 引入mockjs
const Mock = require('mockjs')
// 生成模擬數(shù)據(jù)
const test = function() {
return Mock.mock({
// 屬性list的值是一個數(shù)組,其中含有 1 到 10 個元素
'list|1-10': [{
// 屬性id是一個自增數(shù),起始值為 1,每次增 1
'id|+1': 1,
// 通過占位符生成隨機數(shù)據(jù)
'name': '@name',
'age': '@natural(18, 100)',
'email': '@email'
}]
});
}
// 映射訪問的url
// 此處表示當Ajax請求/mock/test路徑時,會映射執(zhí)行test函數(shù)
Mock.mock('/mock/test', test)
在項目src/api目錄下,新建MockSrv.js,用于響應(yīng)Ajax請求。
import axios from 'axios'
import mock from '@/utils/mock'
export default {
testMock() {
return axios.get('/mock/test')
}
}
在組件中請求Mock生成的模擬數(shù)據(jù)。
<script>
import MockSrv from '@/api/MockSrv'
export default {
name: 'App',
mounted() {
MockSrv.testMock().then(function(resp) {
console.log("Mock:", resp.data);
});
}
}
</script>
執(zhí)行結(jié)果

Mock語法規(guī)范
數(shù)據(jù)模板定義規(guī)范(Data Template Definition,DTD)
數(shù)據(jù)模板中的每個屬性由 3 部分構(gòu)成:屬性名、生成規(guī)則、屬性值:
// 屬性名 name // 生成規(guī)則 rule // 屬性值 value 'name|rule': value
數(shù)據(jù)占位符定義規(guī)范(Data Placeholder Definition,DPD)
占位符 只是在屬性值字符串中占個位置,并不出現(xiàn)在最終的屬性值中。
占位符 的格式為:
@占位符
@占位符(參數(shù) [, 參數(shù)])
Mock.mock({
name: {
first: '@FIRST',
middle: '@FIRST',
last: '@LAST',
full: '@first @middle @last'
}
})
Mock.mock()
根據(jù)數(shù)據(jù)模板生成模擬數(shù)據(jù)
Mock.mock(rurl?, rtype?, template | function(options))
- rurl 可選,表示需要攔截的 URL,可以是 URL 字符串或 URL 正則
- rtype 可選,表示需要攔截的 Ajax 請求類型。例如 GET、POST、PUT、DELETE 等
- template 可選,表示數(shù)據(jù)模板,可以是對象或字符串
- function(options) 可選,表示用于生成響應(yīng)數(shù)據(jù)的函數(shù)
- options 指向本次請求的 Ajax 選項集,含有 url、type 和 body 三個屬性
Mock.Random()
Mock.Random 是一個工具類,用于生成各種隨機數(shù)據(jù)。
Mock.Random 的方法在數(shù)據(jù)模板中稱為『占位符』,書寫格式為 @占位符(參數(shù) [, 參數(shù)]) 。
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 中的方法與數(shù)據(jù)模板的 @占位符 一一對應(yīng),在需要時還可以為 Mock.Random 擴展方法,然后在數(shù)據(jù)模板中通過 @擴展方法 引用。
到此這篇關(guān)于Vue之使用mockjs生成模擬數(shù)據(jù)案例詳解的文章就介紹到這了,更多相關(guān)Vue之使用mockjs生成模擬數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue3.2自定義彈窗組件結(jié)合函數(shù)式調(diào)用示例詳解
這篇文章主要為大家介紹了vue3.2自定義彈窗組件結(jié)合函數(shù)式調(diào)用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09
vue+element實現(xiàn)動態(tài)加載表單
這篇文章主要為大家詳細介紹了vue+element實現(xiàn)動態(tài)加載表單,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-12-12
Vue簡單封裝axios網(wǎng)絡(luò)請求的方法
這篇文章主要介紹了Vue簡單封裝axios網(wǎng)絡(luò)請求,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,對Vue封裝axios網(wǎng)絡(luò)請求相關(guān)知識感興趣的朋友一起看看吧2022-11-11
Vue3+element實現(xiàn)表格數(shù)據(jù)導(dǎo)出
這篇文章主要為大家學(xué)習(xí)介紹了Vue3如何利用element實現(xiàn)表格數(shù)據(jù)導(dǎo)出功能,文中的示例代碼講解詳細,感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下吧2023-07-07
vue2自定義組件通過rollup配置發(fā)布到npm的詳細步驟
這篇文章主要介紹了vue2自定義組件通過rollup配置發(fā)布到npm,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03
詳解@Vue/Cli 3 Invalid Host header 錯誤解決辦法
這篇文章主要介紹了詳解@Vue/Cli 3 Invalid Host header 錯誤解決辦法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01

