首页前端开发JavaScriptVue项目中使用mock.js的完整步骤

Vue项目中使用mock.js的完整步骤

时间2024-01-31 14:09:03发布访客分类JavaScript浏览851
导读:收集整理的这篇文章主要介绍了Vue项目中使用mock.js的完整步骤,觉得挺不错的,现在分享给大家,也给大家做个参考。 在Vue项目中使用Mock.js 开发工具选择:Vscode1....
收集整理的这篇文章主要介绍了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"  style="width: 100%">
      el-table-column   label="日期"   width="180">
       template slot-scoPE="scope">
        i class="el-icon-time">
    /i>
        span style="margin-left: 10px">
{
{
 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

现在的网页显示效果如下

5. 安装mockjs 和axios

npm install --save-dev mockjsnpm install --save axios

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

request.js

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

getData.js

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

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" style="width: 600px;
    margin: 0 auto">
       el-table-column label="随机ID" width="200">
        template slot-scope="scope">
         i class="el-icon-time">
    /i>
         span style="margin-left: 10px">
{
{
 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>
    

10.再次运行

鼠标放在姓名上,会有更多信息显示

显示测试的数据1000条

分页就懒得做了。。。。

总结

到此这篇关于Vue项目中使用mock.js的文章就介绍到这了,更多相关项目使用mock.js内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

您可能感兴趣的文章:
  • vue项目中mock.js的使用及基本用法
  • vue项目中如何使用mock你知道吗
  • 详解vue-cli 本地开发mock数据使用方法
  • vue中控制mock在开发环境使用,在生产环境禁用方式

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: 使用Typescript开发微信小程序的...下一篇:vue 页面跳转的实现方式猜你在找的JavaScript相关文章 html font标签如何设置字体大小?html font标签属性用法介绍2022-05-16vue3+TypeScript+vue-router的使用方法2022-04-16vue3获取当前路由地址2022-04-16如何利用React实现图片识别App2022-04-16JavaScript展开运算符和剩余运算符的区别详解2022-04-16微信小程序中使用vant框架的具体步骤2022-04-16Vue elementUI表单嵌套表格并对每行进行校验详解2022-04-16如何利用Typescript封装本地存储2022-04-16微信小程序中wxs文件的一些妙用分享2022-04-16JavaScript的Set数据结构详解2022-04-16 其他相关热搜词更多phpjavapython程序员loadpost-format-gallery

若转载请注明出处: Vue项目中使用mock.js的完整步骤
本文地址: https://pptw.com/jishu/594061.html
vue 页面跳转的实现方式 c语言源程序的基本单位是什么

游客 回复需填写必要信息