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 內的方法,所以我們可以把上述程式碼更改為:
此時我們再查閱的時候,就發現生成的陣列內,名字都是一模一樣的。如果我們想生成不一樣的姓名,該如何解決呢?
解決辦法:把屬性值更改為函式,將函式的返回值作為最終結果。
好了小編今天的文章就到此結束了,喜歡我的可以點個關注哦!