vue+mockjs模拟数据以及list分页功能

第一步:安装mockjs

npm install mockjs --save-dev

第二步:创建 mock.js 文件

//mock.js 文件

import Mock from 'mockjs' // 引入mockjs

const Random = Mock.Random // Mock.Random 是一个工具类,用于生成各种随机数据

const dataList = [] // 用于接受生成数据的数组

for (let i = 0; i < 26; i++) { // 可自定义生成的个数

  const template = {

    'Boolean': Random.boolean, // 可以生成基本数据类型

    'Natural': Random.natural(1, 10), // 生成1到100之间自然数

    'Integer': Random.integer(1, 100), // 生成1到100之间的整数

    'Float': Random.float(0, 100, 0, 5), // 生成0到100之间的浮点数,小数点后尾数为0到5位

    'Character': Random.character(), // 生成随机字符串,可加参数定义规则

    'String': Random.string(2, 10), // 生成2到10个字符之间的字符串

    'Range': Random.range(0, 10, 2), // 生成一个随机数组

    'Date': Random.date(), // 生成一个随机日期,可加参数定义日期格式

    'Image': Random.image(Random.size, '#02adea', 'Hello'), // Random.size表示将从size数据中任选一个数据

    'Color': Random.color(), // 生成一个颜色随机值

    'Paragraph': Random.paragraph(2, 5), // 生成2至5个句子的文本

    'Name': Random.name(), // 生成姓名

    'Url': Random.url(), // 生成web地址

    'Address': Random.province() // 生成地址

  }

  dataList.push(template)

}

// list 分页接口()

Mock.mock('http://localhost:8080/api/list', 'post', (params) => {

  var info = JSON.parse(params.body)

  var [index, size, total] = [info.pageIndex, info.pageSize, dataList.length]

  var len = total / size

  var totalPages = len - parseInt(len) > 0 ? parseInt(len) + 1 : len

  var newDataList = dataList.slice(index * size, (index + 1) * size)

  return {

    'code': '0',

    'message': 'success',

    'data': {

      'pageIndex': index,

      'pageSize': size,

      'rows': newDataList,

      'total': total,

      'totalPages': totalPages

    }

  }

})

第三步:main.js 文件引入mock.js 文件 (或者引入你需要的某个文件中也可以)


require('./utils/mock.js')

第四步:使用


listParams = {

        pageIndex: 0,

        pageSize: 10

 }

async getList() {

         const result = await ajax.post('[http://localhost:8080/api/list'](http://localhost:8080/api/list'), JSON.stringify(this.listParams))

      if (result.code === '0') {

        this.tableData = result.data.rows

        this.initPager.total = result.data.total

      }

    }

*注意:1、如果开发中有用后台的域名, mockjs中定义接口加上本地的主机名,不然会有跨域的问题

2、更多的mockjs使用请看官方文http://mockjs.com/examples.html
3,文章的Mock.Random使用引用了一个博主的内容。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Ajax技术 核心:XMLHttpRequest 对象(简称 XHR) 提供了向服务器发送请求和解析服务器响应提供...
    1fa38a6a3bcf阅读 250评论 0 0
  • 现在开始生成名字,名字要生成1000个,再定义一个list集合存放名字, 定一个for循环for (int i =...
    赌未来_e1e8阅读 478评论 0 0
  • 今天是什么日子 起床:5点45分 就寝:23点22分 进入夏天后,不知不觉就到了晚上十点多十一点了,感觉好多计划都...
    坤道率然阅读 283评论 0 0
  • 2017年8月19日 周六 雨转阴 今天照例下雨,阴天,没法出门! 长时间的潮湿,家里存放的白面粉都招小虫...
    李墨儿妈妈阅读 207评论 0 0
  • redis简介 redis定义 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日...
    daniel_hao阅读 828评论 1 2