Javascript 角度8。如何将服务从构造函数传递到类外但在同一文件中

Javascript 角度8。如何将服务从构造函数传递到类外但在同一文件中,javascript,angular,typescript,routes,Javascript,Angular,Typescript,Routes,我正在创建一个名为客户端迁移路由模块的路由模块,该模块动态加载路由。我在类外但在文件内这样做,以便可以在AppRouting模块中延迟加载父组件。如何在类外部但在文件内部使用路由器和moduleMetaDataService?还是其他方法 const componentClassMap = [ ClientMigrationAboutComponent, ClientMigrationAllMigrationsComponent, ClientMigrationAudit

我正在创建一个名为客户端迁移路由模块的路由模块,该模块动态加载路由。我在类外但在文件内这样做,以便可以在AppRouting模块中延迟加载父组件。如何在类外部但在文件内部使用路由器和moduleMetaDataService?还是其他方法

const componentClassMap = [
    ClientMigrationAboutComponent,
    ClientMigrationAllMigrationsComponent,
    ClientMigrationAuditTraceComponent,
    ClientMigrationDeletedMigrationsComponent,
    ClientMigrationMyMigrationsComponent
]

const routes: Routes = [
    {
        path: '',
        component: ClientMigrationComponent,
        canActivate: [RegularUserGuardService],
        children: getChildren()
    }
    
]

function getChildren() {
    let arr = [];
    const moduleNameMetadata = 'client_migration';
    const moduleTitleMetaData = 'Client Migration';
    const moduleComponents = this.moduleMetaData.getModuleComponents(moduleNameMetadata, 'all');
    
    for (const moduleComponent of moduleComponents) {
        const componentClass = componentClassMap[moduleComponent.class_name];
        
        if (componentClass) {
            routes.push({
                path: moduleComponent.route,
                component: componentClass,
                canActivate: [RegularUserGuardService],
                data: {
                    moduleName : moduleNameMetadata,
                    moduleTitle : moduleTitleMetaData,
                    componentName : moduleComponent.name,
                    componentRoute: moduleComponent.route
                }
            });
        }
    }
    return arr;
}

@NgModule({
    imports: [RouterModule.forChild(routes)],
    exports: [RouterModule]
})
export class ClientMigrationRoutingModule {
    constructor(private router: Router, private moduleMetaDataService: ModuleMetadataService) {}
} 

您可以直接使用类名并创建服务的ITO变量?您是否尝试在构造函数中将服务声明为public