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