美文网首页
(二十四)VueCli3.0全栈——设置左侧导航栏

(二十四)VueCli3.0全栈——设置左侧导航栏

作者: 彼得朱 | 来源:发表于2019-07-11 10:53 被阅读0次

    1、client/src/components下面新建LeftMenu.vue文件

    <template>
      <el-row class="menu_page">
        <el-col>
          <el-menu
            class="el-menu-vertical-demo"
            background-color="#324057"
            text-color="#fff"
            active-text-color="#409eff"
          >
            <router-link to="/home">
              <el-menu-item index="0">
                <i class="fa fa-margin fa-server"></i>
                <span slot="title">首页</span>
              </el-menu-item>
    
              <template v-for="item in items">
                <el-submenu v-if="item.children" :index="item.path" :key="item.path">
                  <template slot="title">
                    <i :class="'fa fa-margin'+item.icon"></i>
                    <span slot="title">{{item.name}}</span>
                  </template>
                  <router-link v-for="(citem,cindex) in item.children" :to="citem.path" :key="cindex">
                    <el-menu-item :index="citem.path">
                      <span slot="title">{{citem.name}}</span>
                    </el-menu-item>
                  </router-link>
                </el-submenu>
              </template>
            </router-link>
          </el-menu>
        </el-col>
      </el-row>
    </template>
    
    <script>
    export default {
      name: "left-menu",
      data() {
        return {
          items: [
            {
              icon: "fa-money",
              name: "资金管理",
              path: "fund",
              children: [{ path: "fundlist", name: "资金流水" }]
            },
            {
              icon: "fa-asterisk",
              name: "信息管理",
              path: "info",
              children: [{ path: "infoshow", name: "个人信息" }]
            }
          ]
        };
      }
    };
    </script>
    
    <style scoped>
    .menu_page{
        position: fixed;
        top: 71px;
        left: 0;
        min-height: 100%;
        background-color: #324057;
        z-index: 99;
    }
    .el-menu {
      border: none;
    }
    .fa-margin {
      margin-right: 5px;
    }
    .el-menu-vertical-demo:not(.el-menu--collapse) {
      width: 180px;
      min-height: 400px;
    }
    
    .el-menu-vertical-demo {
      width: 35px;
    }
    .el-submenu .el-menu-item {
      min-width: 180px;
    }
    .hiddenDropdown,
    .hiddenDropname {
      display: none;
    }
    a {
      text-decoration: none;
    }
    </style>
    
    

    2、client/src/views/Index.vue里面引入并使用

    <template>
        <div class="index">
            <HeadNav></HeadNav>
            <LeftMenu></LeftMenu>
            <router-view></router-view>
    
        </div>
    </template>
    
    <script>
    import HeadNav from '../components/HeadNav'
    import LeftMenu from '../components/LeftMenu'
    export default {
        name:'index',
        components: {
            HeadNav,
            LeftMenu
        }
    }
    </script>
    
    <style>
    .index{
        width: 100%;
        height: 100%;
        overflow: hidden;
    }
    
    </style>
    

    3、效果

    效果图

    相关文章

      网友评论

          本文标题:(二十四)VueCli3.0全栈——设置左侧导航栏

          本文链接:https://www.haomeiwen.com/subject/vldrkctx.html