mockjs 的語法規則(二)


  mockjs主要有兩種語法規范: 數據模板定義規范DTD  && 數據占位符定義規范DPD;

  數據模板中的每個屬性由三部分組成: 屬性名、規則、屬性值;

    屬性名和規則之間用 “|” 進行分割;生成規則是可選的,一共有七種規則,但是規則的含義具體要根據屬性值來進行確定,不同的屬性值對應的規則含義是不同的;屬性值中可以包含 @占位符,並且屬性值還指定了最終值的初始值以及類型;

    我們在實際的應用中,屬性值的類型其實就是我們 js 中數據的類型:string、number、boolean、object、array、function以及正則reg ;

    1)、屬性值為 string

      ' name| min-max' : string ;  //通過重復string生成一個字符串,string的重復次數 大於等於min ; 小於等於max ;

      ' name| count' : string;  //通過重復string生成一個字符串,重復次數為 count ;

    2)、屬性值為 number

      ' name| min-max' : number ;  //生成一個大於等於min 小於等於 max 的整數;

      ' name| +1' : number ;  //屬性值自動加1,初始值為 number ;

      ‘ name| min-max.dmin-dmax’ : number ;  //生成一個浮點數,整數部分大於等於min,小於等於max; 小數部分保留 dmin 到 dmax 位;

    3)、屬性值為 boolean

      ' name| 1' : boolean ; //隨機生成一個布爾值,值為 true 和 false 的概率均為 50%;

      ' name| min-max' : boolean ; //隨機生成一個布爾值,值為 true 的概率為 min/( min + max) ; 值為 false 的概率為 max/( min + max);

    4)、屬性值為 object 

      ' name| count' : object ;    //從object中隨機抽取count 個屬性;

      ' name| min-max' : object;  //從object中隨機抽取 min 到 max 個屬性;

    5)、屬性值為 array

      ' name| 1': array ;  //從array中隨機選取一個值最為最終值;

      ' name| +1' : array;  //從array 中順序選擇一個元素,最為最終值;

      ' name| min-max' : array ;  //通過重復array 生成一個新數組,重復的次數大於等於min, 小於等於max ;

      ' name| count' : array;  //通過重復array 生成一個新數組,重復的次數為 count ;

    6)、屬性值為 function

      ' name' : function ;  // 執行function,使其最終的返回值最為 最終的屬性值;函數的上下文為 name 所在的對象;

    7)、屬性值為 RegExp

      ' name' : reg ;   //根據正則去生成一個符合這個正則表達式規則的屬性值;

    

    數據占位符只是在屬性值字符串中占據一個位置,最終並不出現在屬性值中, 占位符的格式為  @占位符  ||  @占位符(參數 [,參數]);

    使用數據占位符的時候需要注意的是: 1)、用@來標識的其后的是占位符;2)、占位符應用的是Mock.random的方法; 3)、通過Mock.random.extend()來擴展自定義占位符; 4)、占位符也可以引用數據模板中的數據而且會優先引用;5)、占位符支持相對路徑也支持絕對的路徑;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM