美文网首页
elementui侧边栏导航路由跳转,带默认显示页(简单)

elementui侧边栏导航路由跳转,带默认显示页(简单)

作者: 晓晓_1931 | 来源:发表于2022-07-06 03:23 被阅读0次

效果


image.png

项目结构


image.png

App.vue

<template>
  <div id="app"> 
    <router-view/>
  </div>
</template>

<style>
 
</style>

guanli.vue

<template>
  <div id="app"> 
    guanli
  </div>
</template>

xinxi.vue

<template>
  <div id="app"> 
    xinxi
  </div>
</template>

xiangqing.vue

<template>
  <div id="app"> 
    xiangqing
  </div>
</template>

Home.vue

 <template>

  <el-container class="container">
    <el-header>Header</el-header>

    <el-container>
      <el-aside width="200px">

        <!-- 左侧导航 --><!-- default-active="/management/guanli" 默认加载页路由路径 -->
        <el-menu 
        default-active="/management/guanli" 
        class="el-menu-vertical-demo" 
        @open="handleOpen" 
        @close="handleClose"
        background-color="#545c64" 
        text-color="#fff" 
        active-text-color="#ffd04b" 
        :router="true"><!-- :router="true"开启导航 -->

          <el-menu-item index="/management/guanli">
            <i class="el-icon-menu"></i>
            <span slot="title">导航一</span>
          </el-menu-item>

          <el-submenu index="2">
            <template slot="title">
              <i class="el-icon-location"></i>
              <span>导航二</span>
            </template>
            <el-menu-item-group>
              <el-menu-item index="/management/xinxi">选项1</el-menu-item>
              <el-menu-item index="/management/xiangqing">选项2</el-menu-item>
            </el-menu-item-group>
          </el-submenu>

        </el-menu>
        <!-- 左侧导航 -->


      </el-aside>
      <el-main>
        <router-view /><!-- 路由出口 -->
      </el-main>
    </el-container>

    <el-footer>Footer</el-footer>
  </el-container>
</template>

<script>
export default {
  methods: {
    handleOpen(key, keyPath) {
      console.log(key, keyPath);
    },
    handleClose(key, keyPath) {
      console.log(key, keyPath);
    }
  }
}
</script>

<style scoped>
/* 去掉选项右侧边框 */
.el-menu {
  border-right: none;
} 
/* 设置整体布局高度 */
.container {
  height: 100vh;
}

.el-header,
.el-footer {
  background-color: #B3C0D1;
  color: #333;
  text-align: center;
  line-height: 60px;
}

.el-aside {
  background-color: #D3DCE6;
  color: #333;
  text-align: center;
  line-height: 200px;
}

.el-main {
  background-color: #E9EEF3;
  color: #333;
  text-align: center;
  line-height: 160px;
}

body>.el-container {
  margin-bottom: 40px;
}

.el-container:nth-child(5) .el-aside,
.el-container:nth-child(6) .el-aside {
  line-height: 260px;
}

.el-container:nth-child(7) .el-aside {
  line-height: 320px;
}
</style>

路由文件index.js

import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '../views/Home.vue'
import Guanli from '../views/guanli.vue'
import Xinxi from '../views/xinxi.vue'
import Xiangqing from '../views/xiangqing.vue'

Vue.use(VueRouter)

const routes = [
  {
    path: '/',
    name: 'Home',
    redirect:'/management/guanli'//默认页直接重定向到你要显示的默认页
  },
  {
    path: '/management/',
    name: 'management',
    component: Home,
    children:[
        {
          path: 'guanli',//默认显示页路径
          name: 'Guanli',
          component: Guanli, 
        },
        {
          path: 'xinxi',
          name: 'Xinxi',
          component: Xinxi
        },
        {
          path: 'xiangqing',
          name: 'Xiangqing',
          component: Xiangqing
        }
    ]
  }
]

const router = new VueRouter({
  routes
})

export default router

相关文章

网友评论

      本文标题:elementui侧边栏导航路由跳转,带默认显示页(简单)

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