zoukankan      html  css  js  c++  java
  • vue 首页导航+左侧菜单

    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

     效果图

  • 相关阅读:
    [cf1038E][欧拉路]
    [最小费用最大流(板子)]
    [网络流24题]
    [ACM International Collegiate Programming Contest, Amman Collegiate Programming Contest (2018)]
    [Split The Tree][dfs序+树状数组求区间数的种数]
    [CSL 的魔法][求排序最少交换次数]
    [CSL 的字符串][栈,模拟]
    ZOJ 3949 Edge to the Root 树形DP
    第十三周 Leetcode 363. Max Sum of Rectangle No Larger Than K(HARD)
    POJ 2104 HDU 2665 主席树 解决区间第K大
  • 原文地址:https://www.cnblogs.com/xmf3628/p/11428908.html
Copyright © 2011-2022 走看看