2017-02-18 14 views
1

В настоящее время мое решение через импорт динамически генерируется, есть и другие способы не через импорт?В машинописи Как сделать C# Activator.CreateInstance()

live demo


abc.ts

export class abc{ 
 
    constructor(){ 
 
    alert('hello world'); 
 
    } 
 
} 
 

 
export class abc2{ 
 
    constructor(){ 
 
    alert('hello world2'); 
 
    } 
 
}

app.component.ts

... 
 
import * as myModule from './abc'; 
 

 
@Component({ 
 
    ... 
 
}) 
 
export class AppComponent { 
 
    
 
    createAllClass(){ 
 
    let allClassName = ['abc','abc2']; 
 
    allClassName.forEach(className => { 
 
     new myModule[className](); 
 
    }); 
 
    } 
 
    
 
}

ответ

1

Файл типа TypeScript - это модуль, без ссылки на него невозможно получить доступ к его экспорту. Вы можете использовать index.ts и реэкспортировать все классы, чтобы свести к минимуму объем импорта.

Вы также можете играть с WebPacks System.import, см. Это answer.

+1

[live demo] (https://plnkr.co/edit/Mf3uEQjjtuq4VUPXpY1h?p=preview) Вы имеете в виду это? –