Angular 4中的动态服务/类实例

时间:2017-09-18 15:17:59

标签: javascript angular typescript dependency-injection

我正在Angular4中构建一个文件上传器。 每次用户删除/选择文件时,我都需要创建一个文件的自定义对象,里面有一些字段和方法。

class File {
  public isSent: boolean: false;
  public send() {
    //a http call here
  }

  constructor(
    private http: Http
  )
}

问题在于,在组件中,服务是作为单例创建的,因此每个组件只有一个文件实例。我需要动态创建多个实例。

我可以做类似的事情:

let file = new File();

然而DI似乎无法正常工作,因为我需要在文件实例中使用Http模块。

如何管理这种情况?

我基本上需要的是一个简单的类实现,它使用一些Angular特性(Http),我将根据它创建对象。 然后,在视图中,我可以将file.send()绑定到一个按钮。

只是为了澄清它不是重复的: 我不想在构造函数中通过DI注入多个实例。我想在用户操作上动态创建它。

0 个答案:

没有答案