• ElementUI之首页导航+左侧菜单->mockjs,总线


    • mockjs
    • 总线

    1.mockjs

    什么是Mock.js

    前后端分离开发开发过程当中,经常会遇到以下几个尴尬的场景:

    - 老大,接口文档还没输出,我的好多活干不下去啊!

    - 后端小哥,接口写好了没,我要测试啊!

     前后端分离之后,前端迫切需要一种机制,不再需要依赖后端接口开发,而今天的主角mockjs就可以做到这一点。

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

     众所周知Mock.js因为两个重要的特性风靡前端:

    数据类型丰富:支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等。
    拦截Ajax请求:不需要修改既有代码,就可以拦截Ajax请求,返回模拟的响应数据。

    安装mockjs:

    配置mockjs

    mockjs使用

    1. //src/view/Login.vue
    1. // const loginInfo = {
    2. // code: -1,
    3. // message: '密码错误'
    4. // }
    5. //使用mockjs的模板生成随机数据
    6. const loginInfo = {
    7. 'code|-1-0': 0,
    8. 'message|3-10': 'msg'
    9. }
    10. export default loginInfo;

    2.总线

    - AppMain.vue:布局容器组件
    - LeftAside.vue:左侧菜单组件
    - TopNav.vue:首页导航组件

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

    - 子组件往父组件传递数据(this.$emit):TopNav -> AppMain
    - 父组件往子组件传递数据(props):AppMain -> LeftAside

    1. //src/components/AppMain.vue
    1. //src/components/TopNav.vue
    1. //src/components/LeftNav.vue
    1. //src/main.js
    2. // The Vue build version to load with the `import` command
    3. // (runtime-only or standalone) has been set in webpack.base.conf with an alias.
    4. import Vue from 'vue'
    5. //开发环境:true && require('@/mock')
    6. //生产环境:false && require('@/mock')
    7. //开发环境下才会引入mockjs
    8. process.env.MOCK && require('@/mock')
    9. // 新添加1
    10. import ElementUI from 'element-ui'
    11. // 新添加2,避免后期打包样式不同,要放在import App from './App';之前
    12. import 'element-ui/lib/theme-chalk/index.css'
    13. import App from './App'
    14. import router from './router'
    15. import axios from '@/api/http'
    16. import VueAxios from 'vue-axios'
    17. Vue.use(VueAxios,axios)
    18. Vue.use(ElementUI);
    19. Vue.config.productionTip = false
    20. /* eslint-disable no-new */
    21. new Vue({
    22. el: '#app',
    23. router,
    24. data(){
    25. return{
    26. Bus:new Vue()
    27. }
    28. },
    29. router,
    30. components: { App },
    31. template: ''
    32. })

  • 相关阅读:
    基于openEuler系统执行Linux内核性能测试脚本(lkp-tests)的流程
    使用element ui表单验证的流程
    数组力扣485题---最大连续1的个数
    Spring管理Bean(XML与注解方式)
    二项分布和泊松分布
    synchronized的底层原理
    QT5-布局在创作中的理解应用
    【C++编程能力提升】
    字符驱动开发
    mysql 查询优化 、索引失效
  • 原文地址:https://blog.csdn.net/weixin_73471776/article/details/133279006