SPA项目开发之首页导航+左侧菜单
发布日期:2022-02-27 17:51:21
浏览次数:53
分类:技术文章
本文共 2949 字,大约阅读时间需要 9 分钟。
介绍:
前后端分离之后,前端迫切需要一种机制,不再需要依赖后端接口开发,而今天的主角mockjs就可以做到这一点
Mock.js是一个模拟数据的生成器,用来帮助前端调试开发、进行前后端的原型分离以及用来提高自动化测试效率。-
mock.js模拟响应ajax请求
一, Mock.js使用步骤 : 我们在命令窗口执行npm install mockjs -D 代码,就可以下载成功了, 可以在package.json中找到,就OK,如下图: 二,我们得写专门的mock文件: 如下图目录; login-mock.js:// const loginInfo = {
// code: -1, // message: ‘密码错误’ // }//使用mockjs的模板生成随机数据
const loginInfo = { ‘code|0-1’: 0, ‘msg|3-10’: ‘msg’ } export default loginInfo;
index.js(mock):
import Mock from 'mockjs' //引入mockjs,npm已安装import action from '@/api/action' //引入请求地址//全局设置:设置所有ajax请求的超时时间,模拟网络传输耗时Mock.setup({ // timeout: 400 //延时400s请求到数据 timeout: 200 - 400 //延时200-400s请求到数据})//引登陆的测试数据,并添加至mockjsimport loginInfo from '@/mock/json/login-mock.js'let s1 = action.getFullPath('SYSTEM_USER_DOLOGIN')Mock.mock(s1, "post", loginInfo)// Mock.mock(s1, /post|get/i, loginInfo)
三,引入:
为了只在开发环境使用mock,而打包到生产环境时自动不使用mock,我们可以在env中做一个配置 (1)dev.env开发使用'use strict'const merge = require('webpack-merge')const prodEnv = require('./prod.env')module.exports = merge(prodEnv, { NODE_ENV: '"development"', MOCK: 'true'})
(2)prod.env上线不使用
'use strict'module.exports = { NODE_ENV: '"production"', MOCK: 'false'}(3)main.js
//开发环境下才会引入mockjs
process.env.MOCK && require(’@/mock’) 如果不是开发环境,我们就可以注释代码。2. AppMain.vue
Main
3. LeftNav.vue
导航一 分组一 选项1 选项2 选项3 选项4 选项1 导航二 导航三 导航四
4. TopNav.vue
超级管理员 设置 个人中心 退出
5. main.js
// The Vue build version to load with the `import` command// (runtime-only or standalone) has been set in webpack.base.conf with an alias.import Vue from 'vue'import 'element-ui/lib/theme-chalk/index.css'process.env.MOCK && require('@/mock')import App from './App'import router from './router'import ElementUI from 'element-ui'import axios from '@/api/http'import VueAxios from 'vue-axios'Vue.use(ElementUI)Vue.use(VueAxios,axios)Vue.config.productionTip = false/* eslint-disable no-new */new Vue({ el: '#app', data(){ return { Bus:new Vue({ }) } }, router, components: { App }, template: ''})
我们测试:效果:
当产生点击事件缩小: 退出: 退出成功: 重点难点点睛: 1.退出事件: 写退出方法即可,返回登录界面。 2,总线传值 将一个空的Vue实例放到根组件下,所有的子组件都能调用 也就是说在main.js里面写一个全局Vue组件,new Vue({ el: '#app', data(){ return { Bus:new Vue({ }) } }, router, components: { App }, template: ''})
然后在两个子组件中传值,产生触发事件即可。
转载地址:https://blog.csdn.net/shaobina/article/details/100186440 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年03月28日 14时29分43秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
SWIFT入门 Dictionary
2021-06-29
生死6小时!!!!!!!!!!!!!!!!1
2021-06-29
段永平大佬!
2021-06-29
mysql-connector-java与Mysql、Java的对应版本
2021-06-29
移动2020面试题:斗地主
2021-06-29
MySQL 表锁、行锁、间隙锁、页锁介绍分析
2021-06-29
codeforces 789A(数学)
2021-06-29
Codeforces 796A
2021-06-29
dp46上 HDU2084
2021-06-29
dp46上 HDU1421
2021-06-29
UESTC 1324线段树
2021-06-29
POJ1651 区间dp
2021-06-29
spfa、Dijkstra、Floyd算法最短路算法详解
2021-06-29
HDU4725(spfa+双端队列优化)
2021-06-29
PowerOj 2392(树状数组 or CDQ分治)
2021-06-29
HDU 6119(区间交叉问题)
2021-06-29
hdu 6143(精妙的递推)
2021-06-29
数位dp
2021-06-29
Power oj 2540 (FFT卷积)
2021-06-29