vue+elementui实现侧边导航,select菜单激活回调函数实现路
由跳转
vue element admin
1、系统页⾯布局采⽤的是elementui布局
<el-container>
<el-aside width="200px">
<el-menu @select="menuClick">
<!--                        select是菜单激活回调-->
<el-submenu index="1">
<template slot="title"><i class="el-icon-message"></i>⽤户管理</template>
<el-menu-item-group >
<el-menu-item index="/adminhome/createuser">创建⽤户</el-menu-item>
</el-menu-item-group>
<el-menu-item-group >
<el-menu-item index="1-2">选项2</el-menu-item>
</el-menu-item-group>
<el-menu-item-group >
<el-menu-item index="1-3">选项3</el-menu-item>
</el-menu-item-group>
</el-submenu>
</el-menu>
</el-aside>
<!--                侧边结束-->
<!--                内容开始-->
<el-main>
<div class="content-right-top">
<p>{{opetions}}</p>
</div>
<div class="content-right-down">
<router-view></router-view>
</div>
</el-main>
<!--                内容结束
-->
</el-container>
2、在vue的index.js中配置相应的路由 :在管理员页⾯路由下创建children路由
import AdminHome from "../view/AdminHome";
import StaffHome from "../view/StaffHome";
import ManagerHome from "../view/ManagerHome";
import CreateUser from "../components/superadmin/CreateUser";
Vue.use(Router)
//new⼀个router,默认⽅式导出
export default new Router({
//路由模式改成history,默认是hash
mode: 'history',
routes: [
{
path: '/',
redirect: '/login'
},
{
path: '/adminhome',
name: '⽤户管理',
component: AdminHome,
children: [
{
path: 'createuser',
component: CreateUser,
name: '创建⽤户'
},
]
},
]
})
3、创建select菜单激活回调函数,实现路由跳转
methods: {
//index 就是要跳转的路由
menuClick(index){
this.$router.push(index)
},
}
总结:
<el-menu @select="menuClick">
<!-- select是菜单激活回调-->
<el-submenu index="1">
<template slot="title"><i class="el-icon-message"></i>⽤户管理</template>
<el-menu-item-group >
<el-menu-item index="/adminhome/createuser">创建⽤户</el-menu-item>
</el-menu-item-group>
</el-submenu>
</el-menu>
这是elementui中侧边导航
1、需要给el-menu 绑定select菜单激活回调函数
2、将el-menu-item标签中的index设置成前端路由
3、在内容区写上,将视图展⽰:<router-view/>
4、在路由上,导航路由都是在⼀个⽗组件中展⽰的,所以路由⽤children来写,不然会跳转到App.vue的<router-view/>中。
5、写menuClick函数的逻辑 menuClick(index){ this.$router.push(index)} 跳转到相应的路由

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。