@@ -9,6 +9,8 @@ import Layout from '@/layout/index.vue';
99import ParentView from '@/components/ParentView/index.vue' ;
1010import InnerLink from '@/layout/components/InnerLink/index.vue' ;
1111
12+ import { createCustomNameComponent } from '@/utils/createCustomNameComponent' ;
13+
1214// 匹配views里面所有的.vue文件
1315const modules = import . meta. glob ( './../../views/**/*.vue' ) ;
1416export const usePermissionStore = defineStore ( 'permission' , ( ) => {
@@ -82,7 +84,7 @@ export const usePermissionStore = defineStore('permission', () => {
8284 } else if ( route . component ?. toString ( ) === 'InnerLink' ) {
8385 route . component = InnerLink ;
8486 } else {
85- route . component = loadView ( route . component ) ;
87+ route . component = loadView ( route . component , route . name as string ) ;
8688 }
8789 if ( route . children != null && route . children && route . children . length ) {
8890 route . children = filterAsyncRouter ( route . children , route , type ) ;
@@ -153,12 +155,12 @@ export const filterDynamicRoutes = (routes: RouteRecordRaw[]) => {
153155 return res ;
154156} ;
155157
156- export const loadView = ( view : any ) => {
158+ export const loadView = ( view : any , name : string ) => {
157159 let res ;
158160 for ( const path in modules ) {
159161 const dir = path . split ( 'views/' ) [ 1 ] . split ( '.vue' ) [ 0 ] ;
160162 if ( dir === view ) {
161- res = ( ) => modules [ path ] ( ) ;
163+ res = createCustomNameComponent ( modules [ path ] , { name } ) ;
162164 }
163165 }
164166 return res ;
0 commit comments