菜单栏的设计

5 篇文章 0 订阅


实现效果:菜单栏分为左中右三部分,从后端动态获取菜单项 填充到左右,中间部分为图片 退出 登录 下拉框

(一)vue页面的设计

1.动态获取后台数据,生成菜单项

getMenu () {    //获取菜单列表
  Vue.axios.get(config.storebaseurl + '/static/html/menuTreeListByRoleId/' + this.roleid).then(res => {
     res.data.data.forEach(item => {
        item.children = []
        if (item.levels == 1) {
           this.levelList.push(item)
        }
      });
     res.data.data.forEach(item => {
        this.levelList.forEach(data => {
           if (item.levels === 2) {
             if (item.pcode === data.code) {
                data.children.push(item)
             }
           }
        })
     })
    console.log(this.levelList, "this.levelList")
   })
},

动态获取当前项目的option选项

vue全部的div代码:

<template>
  <div>
    <div class="page_top">
      <div class="top-left">
        <div class="top_nav_left">
          <template v-for="(item,index) in levelList">
            <div class="top-image-nav"
                 menu="mainpage"
                 :key="index"
                 v-if="index<levelList.length/2">
              <p class="text">{{item.name}}</p>
              <div class="drop-down-content"
                   v-if="item.children.length>0">
                <ul class="drop-down-content_inner">
                  <li class="nav-li-one"
                      v-for="(child,i) in item.children"
                      :key="i">{{child.name}}</li>
                </ul>
              </div>
            </div>
          </template>
        </div>
      </div>
      <div class="top-middle">
        <div class="top-middle-img">
          <img src="@/assets/img/HUAlong2.png"
               alt="" />
        </div>
        <div class="top-button">
          <div class="top-button-left">
            <span class="span_text">当前项目:</span>
            <template>
              <el-select v-model="proId"
                         placeholder="请选择"
                         @change="clickRecord">
                <el-option v-for="(item,index) in prolist"
                           :key="index"
                           :label="item.name"
                           :value="item"
                           :disabled="item.disabled">
                </el-option>
              </el-select>
            </template>
          </div>
          <div class="top-button-right">
            <div class="clear01">
              <img class="img1"
                   src="@/assets/img/user.png"
                   alt="" />
              <span class="span_text"
                    id="username"
                    onclick="changePwd()">{{username}}</span>
              <span id="rolename"></span>
              <a href="login.html"></a>
            </div>
            <div class="clear02">
              <span class="span_text">退出{{ name }}</span>
              <img class="img2"
                   src="@/assets/img/exit.png"
                   @click="toLogin"
                   alt="" />
            </div>
          </div>
        </div>
      </div>
      <div class="top-right"
           style="float:right">
        <div class="top_nav_right">
          <template v-for="(item,index) in levelList">
            <div class="top-image-nav"
                 menu="mainpage"
                 :key="index"
                 v-if="index>=levelList.length/2">
              <p class="text">{{item.name}}</p>
              <div class="drop-down-content"
                   v-if="item.children.length>0">
                <ul class="drop-down-content_inner">
                  <li class="nav-li-one"
                      v-for="(child,i) in item.children"
                      :key="i">{{child.name}}</li>
                </ul>
              </div>
            </div>
          </template>
        </div>
      </div>
    </div>
  </div>
</template>

(二)html4页面的设计

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
环境配置 Node 下载地址http://nodejs.cn/ 安装文件下有一个绿色的图片交node.exe 点击运行 输入node -v进行检测是否安装成功 使用vue-cli(脚手架)搭建项目 vue-cli是vue官方提供的用域搭建基于vue+webpack_es6项目的脚手架工具 在线文档:https://github.com/vuejs/vue-cli 操作: 1.npm install -g vue-cli:全局下载工具 2.vue init webpack 项目名:下载基于webpack模板项目 3.cd 项目名:进入项目目录 4.npm install :下载项目依赖的所有模块 5.npm run dev :运行项目 6.访问项目:localhost:8080 项目目录结构 src assets:存放照片、css、js css js img components:存放组件 lib:存放模拟数据 router:配置路由 store:存放vuex vuex的安装:cd x项目目录 cnpm install vuex --save views:存放所有单页面 配置访问端口号: 根目录下有一个config文件夹,看名字就知道与配置有关,打开config目录下的index.js dev: { env: require('./dev.env'), port: 8092, autoOpenBrowser: true, assetsSubDirectory: 'static', assetsPublicPath: '/', proxyTable: {}, } 项目目录下:https://blog.csdn.net/weixin_39378691/article/details/83784403 1.安装elementUI:cd进入项目根目录,npm i element-ui -S 2.引入elementUI组件(main.js文件中) import Element from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' Vue.use(Element, { size: 'small' }) 项目目录下:https://blog.csdn.net/weixin_41432849/article/details/81988058 1.安装jquery:cd进入项目根目录, npm install jquery --save 2.在项目 build 里的webpack.base.conf.js 里加载webpack文件,注意,要放在配置文件第一行; const webpack = require('webpack') 3.在module.exports的最后加入 , plugins:[ new webpack.ProvidePlugin({ $:"jquery", jQuery:"jquery", jquery:"jquery", "window.jQuery":"jquery" }) ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值