在Typescript中如何做C#Activator.CreateInstance()

时间:2017-02-18 01:55:00

标签: angular typescript webpack angular-cli es6-modules

目前我的解决方案是通过导入动态生成,还有其他方法可以通过导入吗?

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 个答案:

答案 0 :(得分:1)

TypeScript文件是一个模块,没有引用模块就无法访问其导出。您可以使用index.ts并重新导出所有类,以最大限度地减少导入量。

您也可以使用WebPack System.import,请参阅此answer