快速搭建带导航菜单的后台管理项目:vue+element+router+圣杯布局

为了方便快速搭建项目,这里只做最原始的布局搭建和路由配置,剩下的可以在此基础进行细致跳转和填充,目的是最快的拉去最原始拿来即用的架子。

首先:vue create yourproject

安装好,如果没有router 就下载router, 下载elemnt-ui

然后直接使用以下代码即可:

配置man.js

import Vue from 'vue'
import App from './App.vue'
import router from "./router/index.js" 
import Element from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(Element)
Vue.config.productionTip = false
router.beforeEach((to, from, next) => {
  /* 路由发生变化修改页面title */
  if (to.meta.title) {
    document.title = to.meta.title
  }
  next()
})
new Vue({
  router,
  render: h => h(App),
}).$mount('#app')

展示最外层的routerview app.vue,布局信息也在此处

<template>
  <div id="app">
    <el-container class="home-contianer">
    <el-header>logo</el-header>
    <el-container>
        <el-aside>
      <mymenu></mymenu>
    </el-aside>
        <el-main>
       <router-view></router-view>
    </el-main>
    </el-container>
</el-container>
  </div>
</template>


<script>
import mymenu from './page/menu.vue'
export default {
  name: 'App',
  components: {
    mymenu
  }
}
</script>

<style>
.home-container {
    height: 100%
}
.el-header{
  background:#4d4d4d;
  color:#fff;
}
.el-aside{
  background:#ccc;height:calc(100vh - 80px);
}
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  /* margin-top: 60px; */
}
</style>

 

menu菜单-核心菜单路由结合menu.vue

<template>
    <div class="menu">
       <el-menu
      :default-active="$route.path"
      class="el-menu-vertical-demo"
      @open="handleOpen"
      @close="handleClose"
      @select="handleSelect_2"
      router>
      <el-menu-item index="/page1">
        <i class="el-icon-menu"></i>
        <span slot="title">搜索简历</span>
      </el-menu-item>
      <el-menu-item index="/page2">
        <i class="el-icon-menu"></i>
        <span slot="title"> 人才库</span>
      </el-menu-item>
      <el-menu-item index="/page3">
        <i class="el-icon-document"></i>
        <span slot="title">代理招聘</span>
      </el-menu-item>
      <el-menu-item index="/shareResume">
        <i class="el-icon-setting"></i>
        <span slot="title">分享简历</span>
      </el-menu-item>
      <el-menu-item index="/page4">
        <i class="el-icon-setting"></i>
        <span slot="title">企业账户</span>
      </el-menu-item>
    </el-menu>
    </div>
</template>
<script>
export default{
    name:'Menu',
    data(){
        return {

        }
    },
    methods:{
        handleOpen(){},
        handleClose(){},
        handleSelect_2(key,path){
            console.log(key,path)
        },
    }
}
</script>
<style scoped>
.el-menu-vertical-demo{}
</style>

路由的配置:router.js

import Vue from "vue";
import VueRouter from "vue-router";
Vue.use(VueRouter);
import home from "../page/home.vue";//组件页面1
import page1 from "../page/page1.vue";//组件页面1
import page2 from "../page/page2.vue";//组件页面1
import page3 from "../page/page3.vue";//组件页面1
import page4 from "../page/page4.vue";//组件页面1
const routes = [
    {
        path:'/',
        redirect: 'home'
    },
    {
        path:'/home',
        component:home,
        meta:{
            title:'首页'
        }
    },
    {
        path:'/page1',
        component:page1,
        meta:{
            title:'page1'
        }
    },
    {
        path:'/page2',
        component:page2,
        meta:{
            title:'page2'
        }
    },
    {
        path:'/page3',
        component:page3,
        meta:{
            title:'page3'
        }
    },
    {
        path:'/page4',
        component:page4,
        meta:{
            title:'page4'
        }
    }

]
var router = new VueRouter({
    routes
})
export default router

后面在此基础扩展修改即可

 

posted @ 2022-02-17 14:27  少哨兵  阅读(431)  评论(0编辑  收藏  举报