vue导航栏路由跳转页面(element ui+vue实现导航栏菜单以及页面跳转)
导读:关于博主: 不知道算不算的上入门,就是刚刚学习vue框架,断断续续的学习,所以有些地方讲的不正确也欢迎大家批评斧正,希望与大家共同进步...
关于博主:
不知道算不算的上入门 ,就是刚刚学习vue框架 ,断断续续的学习 ,所以有些地方讲的不正确也欢迎大家批评斧正 ,希望与大家共同进步
问题描述
对于初学前端的我们来说搭建一个路由导航界面还是比较困难的 ,在这里给大家分享一下最近我学到的一些这方面的知识
首先给大家看看效果图吧:写的就是一些很基础的东西 ,因为这主要是学习路由导航的搭建原理 。下面这个代码就是router下的index.js文件 ,就是配置路由的地方 ,如果你对路由的注册还不太懂请戳这里
2022/10/11浅浅更新一下 。看上面的效果图实在是很丑 ,但是这篇毕竟是针对于刚刚入门 的小白来理解掌握知识用的,也没什么。如果想要进一步探究可以侧边栏收起时出现空白现象 以及隐藏侧边栏滚动条
最重要的是你可以看见这个导航菜单栏会随着菜单的展开而变大变小 ,那么你可以直接在NavMenu.vue中套一个最外层的div包裹所有内容 ,并给他一个class样式 。设置为min-height:100vh;就是最小的高度为界面可视区域 。那么他就不会改变了 import Vue from vue import Router from vue-router import homelist from @/components/homelist.vue import Layout from ../views/Layout/index.vue import Login from ../views/Login/login.vue import Order from ../views/Order/index.vue Vue.use(Router) const Link = () => import(../views/Link/link.vue) const home = () => import(../views/Home/home.vue) export default new Router({ routes: [ { path: , component: Layout, children: [ { path: /, name: home, component: home }, { path: /goods, name: Goods, component: () => import(../views/Goods/index.vue) }, { path: /link, name: link, component: Link }, { path: /login, component: Login, children: [] }, { path: /Computed, name: Computed, component: () => import(../views/Computed.vue) }, { path: /order, name: Order, component: Order, // redirect: /order-list, children: [ { path: /order-list, component: () => import(../views/Order/OrderList/index.vue) }, { path: /order-back, component: () => import(../views/Order/OrderBack/orderBack.vue) } ] } ] }, { path: /NavMenu, name: NavMenu, component: () => import(../views/Layout/NavMenu.vue) }, { path: /homelist, name: homelist, component: homelist }, { path: /content, name: content, component: () => import(../views/Layout/content.vue) } ] })NavMenu.vue界面,这里就是你的所有路由界面的放置地点(也就是你想要在导航栏中展示的页面 ,有些概念还是有点解释不清楚哈 ,抱歉)
<template> <!-- <div> <ul type="none"> <li> <router-link to="/home">首页</router-link> </li> <li> <router-link to="/login">登录</router-link> </li> <li> <router-link to="/link">链接</router-link> </li> <li> <router-link to="/Computed">计算属性</router-link> </li> </ul> </div> --> <el-menu router :collapse=false default-active="/" class="el-menu-vertical-demo" background-color="#545c64" text-color="#fff" active-text-color="#ffd04b"> <el-menu-item index="/"> <i class="el-icon-menu"></i> <span slot="title">首页</span> </el-menu-item> <el-menu-item index="/goods" > <i class="el-icon-document"></i> <span slot="title">商品</span> </el-menu-item> <el-menu-item index="/link"> <i class="el-icon-setting"></i> <span slot="title">链接</span> </el-menu-item> <el-submenu index="/order"> <template slot="title"> <i class="el-icon-location"></i> <span>订单</span> </template> <el-menu-item-group> <el-menu-item index="/order-list">订单列表</el-menu-item> <el-menu-item index="/order-back">退货列表</el-menu-item> </el-menu-item-group> </el-submenu> </el-menu> </template> <script> export default { name: , data () { return {} }, components: {} } </script> <style></style>这里就是Layou下的index.vue
<template> <div> <el-container> <el-header>Header</el-header> <el-container> <el-aside width="200px"><NavMenuVue/></el-aside> <el-main><router-view/></el-main> </el-container> </el-container> </div> </template> <script> import NavMenuVue from ./NavMenu.vue import contain from ./content.vue export default { name: , data () { return {} }, components: {NavMenuVue, contain} } </script> <style> .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>创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!