直接上代码
usersetting.vue
<template>
<div class="usersetting">
<div class="title">
用户设置
</div>
<div class="main">
<div class="menu">
// 可以通过el-menu-item 的 index 实现路由匹配
<el-menu default-active="/system/usersetting/personalInformation" class="el-menu-vertical-demo" router>
<el-menu-item index="/system/usersetting/personalInformation" >
<template #title>
<el-icon><user /></el-icon>
<span>个人信息</span>
</template>
</el-menu-item>
<el-menu-item index="/system/usersetting/myRelTenantIds">
<template #title>
<el-icon><user /></el-icon>
<span>我的租户</span>
</template>
</el-menu-item>
<el-menu-item index="/system/usersetting/accountSafety">
<template #title>
<el-icon><Lock /></el-icon>
<span>账号安全</span>
</template>
</el-menu-item>
</el-menu>
</div>
<div class="conten">
<router-view></router-view> // 这个标签会自动在当前页面的路由下寻找 children,所以要在路由配置文件中配置好相应组件的路由
</div>
</div>
</div>
</template>
<script>
export default {
name: 'usersetting'
}
</script>
/router/index.js
import { createRouter } from "vue-router";
const routes = [
{
path: '/system/usersetting',
title: '系统账户设置',
name: 'usersetting',
component: () => import('@/views/system/usersetting.vue'),
children: [
{
path: '/system/usersetting/personalInformation',
title: '个人信息',
name: 'personalInformation',
component: () => import('@/views/system/components/personalInfomation.vue')
},
{
path: '/system/usersetting/myRelTenantIds',
title: '个人信息',
name: 'myRelTenantIds',
component: () => import('@/views/system/components/myRelTenantIds.vue')
},
{
path: '/system/usersetting/accountSafety',
title: '账号安全',
name: 'accountSafety',
component: () => import('@/views/system/components/accountSafety.vue')
},
]
}
]
// 导出路由
const router = createRouter({
routes
});
export default router