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,用于響應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) 可選,表示用于生成響應數(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ù)模板的 @占位符 一一對應,在需要時還可以為 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-09vue+element實現(xiàn)動態(tài)加載表單
這篇文章主要為大家詳細介紹了vue+element實現(xiàn)動態(tài)加載表單,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-12-12Vue3+element實現(xiàn)表格數(shù)據(jù)導出
這篇文章主要為大家學習介紹了Vue3如何利用element實現(xiàn)表格數(shù)據(jù)導出功能,文中的示例代碼講解詳細,感興趣的小伙伴快跟隨小編一起學習一下吧2023-07-07vue2自定義組件通過rollup配置發(fā)布到npm的詳細步驟
這篇文章主要介紹了vue2自定義組件通過rollup配置發(fā)布到npm,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03詳解@Vue/Cli 3 Invalid Host header 錯誤解決辦法
這篇文章主要介紹了詳解@Vue/Cli 3 Invalid Host header 錯誤解決辦法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01