vue 首页导航+左侧菜单

mac2022-06-30  77

1. Mock.js 前后端分离开发开发过程当中,经常会遇到以下几个尴尬的场景: 1. 老大,接口文档还没输出,我的好多活干不下去啊! 2. 后端小哥,接口写好了没,我要测试啊! 前后端分离之后,前端迫切需要一种机制,不再需要依赖后端接口开发,而今天的主角mockjs就可以做到这一点

Mock.js是一个模拟数据的生成器,用来帮助前端调试开发、进行前后端的原型分离以及用来提高自动化测试效率。

众所周知Mock.js因为两个重要的特性风靡前端: 数据类型丰富 支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等。 拦截Ajax请求 不需要修改既有代码,就可以拦截Ajax请求,返回模拟的响应数据。 更多内容,可以云Mockjs官方查看“http://mockjs.com/”

注1:easy-mock,一个在线模拟后台的数据平台

2. Mock.js使用步骤 2.1 安装mockjs依赖 npm install mockjs -D #只在开发环境使用

 

 

2.2 引入 为了只在开发环境使用mock,而打包到生产环境时自动不使用mock,我们可以在env中做一个配置 (1)dev.env module.exports = merge(prodEnv, { NODE_ENV: '"development"', MOCK: 'true' })

 

(2)prod.env module.exports = { NODE_ENV: '"production"', MOCK: 'false' }

 

(3)main.js //开发环境下才会引入mockjs process.env.MOCK && require('@/mock')

 

 

2.3 目录和文件创建 在src目录下创建mock目录,定义mock主文件index.js,并在该文件中定义拦截路由配置, /src/mock/index.js 导入公共模块及mockjs全局设置 import Mock from 'mockjs' //引入mockjs,npm已安装 import action from '@/api/action' //引入封装的请求地址

//全局设置:设置所有ajax请求的超时时间,模拟网络传输耗时 Mock.setup({ // timeout: 400 //延时400s请求到数据 timeout: 200 - 400 //延时200-400s请求到数据 })

2.4 为每个*.vue定义单独的xxx-mock.js文件 /src/mock/json/login-mock.js

注1:可以添加自定义的json数据 注2:还可以通过mockjs的模板生成随机数据

 

2.5 在index.js中导入xxx-mock.js,并添加拦截路由配置 import loginInfo from '@/mock/json/login-mock.js' Mock.mock(url, "post", {...})

 看页面打印结果

4. 后台首页AppMain.vue的创建 4.1 Container布局容器

4.2 TopNav

注1:使用组件之间通信,完成左侧菜单折叠

4.3 LeftAside

导入相应的vue和img

 

 

 

 

5. vue组件之间传递数据(总线)

根据vue组件之间传递数据实现element-ui的NavMenu菜单折叠、展开效果。

5.1 子组件往父组件传递数据(this.$emit)

 

 

TopNav -> Main

5.2 父组件往子组件传递数据(props)

 

 

Main -> LeftAside

 效果图

 

 

 

转载于:https://www.cnblogs.com/xmf3628/p/11428908.html

相关资源:vue-cli bootstarp响应式导航条
最新回复(0)