nested.ts 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import type { RouteRecordRaw } from 'vue-router';
  2. import { BasicLayout } from '@/layouts';
  3. const routes: RouteRecordRaw[] = [
  4. {
  5. component: BasicLayout,
  6. meta: {
  7. keepAlive: true,
  8. title: '多级菜单',
  9. },
  10. name: 'Nested',
  11. path: '/nested',
  12. children: [
  13. {
  14. name: 'Menu1',
  15. path: 'menu1',
  16. component: () => import('@/views/nested/menu-1.vue'),
  17. meta: {
  18. keepAlive: true,
  19. title: '菜单1',
  20. },
  21. },
  22. {
  23. name: 'Menu2',
  24. path: 'menu2',
  25. component: () => import('@/views/nested/menu-2.vue'),
  26. meta: {
  27. keepAlive: true,
  28. title: '菜单2',
  29. },
  30. },
  31. {
  32. name: 'Menu3',
  33. path: 'menu3',
  34. meta: {
  35. title: '菜单3',
  36. },
  37. children: [
  38. {
  39. name: 'Menu31',
  40. path: 'menu3-1',
  41. component: () => import('@/views/nested/menu-3-1.vue'),
  42. meta: {
  43. keepAlive: true,
  44. title: '菜单3-1',
  45. },
  46. },
  47. {
  48. name: 'Menu32',
  49. path: 'menu3-2',
  50. meta: {
  51. title: '菜单3-2',
  52. },
  53. children: [
  54. {
  55. name: 'Menu321',
  56. path: 'menu3-2-1',
  57. component: () => import('@/views/nested/menu-3-2-1.vue'),
  58. meta: {
  59. keepAlive: true,
  60. title: '菜单3-2-1',
  61. },
  62. },
  63. ],
  64. },
  65. ],
  66. },
  67. ],
  68. },
  69. ];
  70. export default routes;