玩轉 Mockjs,前端也能跑的很溜
mockjs作用就是,生成隨機模擬數據,攔截 ajax 請求,可以對數據進行增刪改查。在生成數據時,我們就需要能夠熟練使用 mock.js 的語法。
Mockjs 的語法規範包括兩部分:數據模板定義規範和數據佔位符定義規範。
一、數據模板定義規範
數據模板中的每個屬性組成有:屬性名、生成規則、屬性值。
使用語法為:
值得注意的有:
- 屬性名和生成規則之間使用 | 分割。
- 生成規則是可選參數。
- 生成規則有 7 種形式。
- 生成規則含義需要依賴於屬性值的類型。
- 屬性值可以指定初始值和類型。
生成規則的格式分別有:
1.1、屬性值是類型 String
變量的重複次數是一個隨機值。
直接指定重複次數。
1.2、屬性值是 Number
生成不斷累加的數字。
生成一個區間數值。
生成帶有小數點的數字。
1.3、屬性值是 Boolean
1.4、屬性值是對象 Object
生成一個指定屬性個數的對象。
生成一個屬性個數隨機的對象。
1.5、屬性值是數組 Array
取數組中某個元素作為結果。
生成新數組。
1.6、屬性值是函數 Function
在數據佔位符中,屬性值是函數有重要的意義。待會會重點解釋。
1.7、屬性值是正則 RegExp
二、數據佔位符定義規範
數據佔位符只是在屬性字符串中佔個位置,並不會出現在最終的屬性值中。
使用格式:
注意:
- 用 @ 來標識後邊的字符串是標識符。
- 佔位符引用的都是 mock.Random 中的方法。
- 如果需要擴展自定義佔位符,可使用 Mock.Random.extend()。
- 佔位符也可以引用 「數據模板」 中的內容。
- 佔位符優先引用數據模板中的屬性。
- 支持相對和絕對路徑。
三、使用舉例
創建一個 api 接口,返回一個隨機生成的數組:
佔位符引用的都是 Mock.random 內的方法,所以我們可以把上述代碼更改為:
此時我們再查閱的時候,就發現生成的數組內,名字都是一模一樣的。如果我們想生成不一樣的姓名,該如何解決呢?
解決辦法:把屬性值更改為函數,將函數的返回值作為最終結果。
好了小編今天的文章就到此結束了,喜歡我的可以點個關注哦!