nested.ts 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. import type { RouteRecordRaw } from 'vue-router';
  2. import { BasicLayout } from '@/layouts';
  3. import { $t } from '@vben/locales/helper';
  4. const routes: RouteRecordRaw[] = [
  5. {
  6. component: BasicLayout,
  7. meta: {
  8. icon: 'ic:round-menu',
  9. keepAlive: true,
  10. order: 1000,
  11. title: $t('page.nested.page'),
  12. },
  13. name: 'Nested',
  14. path: '/nested',
  15. redirect: '/nested/menu1',
  16. children: [
  17. {
  18. name: 'Menu1',
  19. path: 'menu1',
  20. component: () => import('@/views/nested/menu-1.vue'),
  21. meta: {
  22. icon: 'ic:round-menu',
  23. keepAlive: true,
  24. title: $t('page.nested.menu1'),
  25. },
  26. },
  27. {
  28. name: 'Menu2',
  29. path: 'menu2',
  30. meta: {
  31. icon: 'ic:round-menu',
  32. keepAlive: true,
  33. title: $t('page.nested.menu2'),
  34. },
  35. redirect: '/nested/menu2/menu2-1',
  36. children: [
  37. {
  38. name: 'Menu21',
  39. path: 'menu2-1',
  40. component: () => import('@/views/nested/menu-2-1.vue'),
  41. meta: {
  42. icon: 'ic:round-menu',
  43. keepAlive: true,
  44. title: $t('page.nested.menu21'),
  45. },
  46. },
  47. ],
  48. },
  49. {
  50. name: 'Menu3',
  51. path: 'menu3',
  52. meta: {
  53. icon: 'ic:round-menu',
  54. title: $t('page.nested.menu3'),
  55. },
  56. redirect: '/nested/menu3/menu3-1',
  57. children: [
  58. {
  59. name: 'Menu31',
  60. path: 'menu3-1',
  61. component: () => import('@/views/nested/menu-3-1.vue'),
  62. meta: {
  63. icon: 'ic:round-menu',
  64. keepAlive: true,
  65. title: $t('page.nested.menu31'),
  66. },
  67. },
  68. {
  69. name: 'Menu32',
  70. path: 'menu3-2',
  71. meta: {
  72. icon: 'ic:round-menu',
  73. title: $t('page.nested.menu32'),
  74. },
  75. redirect: '/nested/menu3/menu3-2/menu3-2-1',
  76. children: [
  77. {
  78. name: 'Menu321',
  79. path: 'menu3-2-1',
  80. component: () => import('@/views/nested/menu-3-2-1.vue'),
  81. meta: {
  82. icon: 'ic:round-menu',
  83. keepAlive: true,
  84. title: $t('page.nested.menu321'),
  85. },
  86. },
  87. ],
  88. },
  89. ],
  90. },
  91. ],
  92. },
  93. ];
  94. export default routes;