温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在Vue项目中使用mock.js

发布时间:2022-01-27 09:35:32 阅读:154 作者:iii 栏目:开发技术
Vue开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章主要讲解了“怎么在Vue项目中使用mock.js”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在Vue项目中使用mock.js”吧!

在Vue项目中使用mock.js

  • 开发工具选择:Vscode

1. 使用命令行创建 vue 项目(手动选择 Babel,Router,Vuex)

2. 导入 element-ui(为了显示效果好一点),命令行输入

npm i element-ui -S

3.在 main。js 中进行引用

import ElementUI from 'element-ui'import 'element-ui/lib/theme-chalk/index.css';//样式文件一定要引入Vue.use(ElementUI)

4.新建 src/views/main/List.vue 使用 elememnt-ui 中的自定义列模板

<template><div>   <el-table    :data="tableData"    >    <el-table-column      label="日期"      width="180">      <template slot-scope="scope">        <i class="el-icon-time"></i>        <span >{{ scope.row.date }}</span>      </template>    </el-table-column>    <el-table-column      label="姓名"      width="180">      <template slot-scope="scope">        <el-popover trigger="hover" placement="top">          <p>姓名: {{ scope.row.name }}</p>          <p>住址: {{ scope.row.address }}</p>          <div slot="reference" class="name-wrapper">            <el-tag size="medium">{{ scope.row.name }}</el-tag>          </div>        </el-popover>      </template>    </el-table-column>    <el-table-column label="操作">      <template slot-scope="scope">        <el-button          size="mini"          @click="handleEdit(scope.$index, scope.row)">编辑</el-button>        <el-button          size="mini"          type="danger"          @click="handleDelete(scope.$index, scope.row)">删除</el-button>      </template>    </el-table-column>  </el-table></div></template><script>  export default {    data() {      return {        tableData: [{          date: '2016-05-02',          name: '王小虎',          address: '上海市普陀区金沙江路 1518 弄'        }, {          date: '2016-05-04',          name: '王小虎',          address: '上海市普陀区金沙江路 1517 弄'        }, {          date: '2016-05-01',          name: '王小虎',          address: '上海市普陀区金沙江路 1519 弄'        }, {          date: '2016-05-03',          name: '王小虎',          address: '上海市普陀区金沙江路 1516 弄'        }]      }    },    methods: {      handleEdit(index, row) {        console.log(index, row);      },      handleDelete(index, row) {        console.log(index, row);      }    }  }</script>

5.router/index.js配置如下

import Vue from 'vue'import VueRouter from 'vue-router'//导入组件import List from '../views/main/List.vue'Vue.use(VueRouter)const routes = [  {    path: '/',    name: 'List',    component: List  },]const router = new VueRouter({  routes})export default router

现在的网页显示效果如下

怎么在Vue项目中使用mock.js

5. 安装 mockjs 和 axios

npm install --save-dev mockjsnpm install --save axios12

6.新建 api/getData.js 和 request.js

  • request.js

import axios from 'axios'const service = axios.create({    baseURL : "http://localhost:8080",})export default service12345
  • getData.js

import axios from '../request'//数据列表接口export const getList = () => axios.get("/list")123

7.在src下新建 mock/mockServer.js

import Mock from 'mockjs'//import data from './data.json'Mock.mock('http://localhost:8080/list', {    code: 0, data:    {        'data|1000': [            {                   id: '@id',//随机id                name: '@name',//随机名称                nickName: '@last',//随机昵称                phone: /^1[34578]\d{9}$/,//随机电话号码                'age|11-99': 1,//年龄                address: '@county(true)',//随机地址                email: '@email',//随机邮箱                isMale: '@boolean',//随机性别                createTime: '@datetime',//创建时间                avatar() {                    //用户头像                    return Mock.Random.image('100×100', Mock.Random.color(), '#757575', 'png', this.nickName)                }            }        ]    }})

8.在 main.js 中导入 mockServer

import './mock/mockServer'

9.修改 src/views/main/List.vue(数据获取与绑定,设置表格居中)

<template>  <div>    <el-table :data="tableData" >      <el-table-column label="随机ID" width="200">        <template slot-scope="scope">          <i class="el-icon-time"></i>          <span >{{ scope.row.id }}</span>        </template>      </el-table-column>      <el-table-column label="姓名" width="180">        <template slot-scope="scope">          <el-popover trigger="hover" placement="top">            <p>姓名: {{ scope.row.name }}</p>            <p>住址: {{ scope.row.address }}</p>            <div slot="reference" class="name-wrapper">              <el-tag size="medium">{{ scope.row.name }}</el-tag>            </div>            <p>邮箱: {{ scope.row.email }}</p>            <p>性别: {{ scope.row.isMale }}</p>            <p>昵称: {{ scope.row.nickName }}</p>            <p>手机号: {{ scope.row.phone }}</p>            <p>头像:</p>          </el-popover>        </template>      </el-table-column>      <el-table-column label="操作">        <template slot-scope="scope">          <el-button size="mini" @click="handleEdit(scope.$index, scope.row)"            >编辑</el-button          >          <el-button            size="mini"            type="danger"            @click="handleDelete(scope.$index, scope.row)"            >删除</el-button          >        </template>      </el-table-column>    </el-table>  </div></template><script>import { getList } from "../../api/getData";export default {  data() {    return {      tableData: [        //   {        //     date: "2016-05-02",        //     name: "王小虎",        //     address: "上海市普陀区金沙江路 1518 弄",        //   },        //   {        //     date: "2016-05-04",        //     name: "王小虎",        //     address: "上海市普陀区金沙江路 1517 弄",        //   },        //   {        //     date: "2016-05-01",        //     name: "王小虎",        //     address: "上海市普陀区金沙江路 1519 弄",        //   },        //   {        //     date: "2016-05-03",        //     name: "王小虎",        //     address: "上海市普陀区金沙江路 1516 弄",        //   },      ],    };  },  methods: {    handleEdit(index, row) {      console.log(index, row);    },    handleDelete(index, row) {      console.log(index, row);    },    async getMockList() {      try {        const result = await getList();        //console.log(result);        if (result.data.code == 0) {          this.tableData = result.data.data.data;        }        //console.log(result.data.data.data);      } catch (error) {        console.log(error);      }    },  },  mounted() {    this.getMockList();  },};</script>

感谢各位的阅读,以上就是“怎么在Vue项目中使用mock.js”的内容了,经过本文的学习后,相信大家对怎么在Vue项目中使用mock.js这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×