TypeScript类型的数组声明错误

时间:2016-08-04 15:14:36

标签: typescript

对于给定的类,我在构造函数中声明了一些私有变量,并进行了一些调用。在构造函数中包含它时,我可以在我的类型化数组声明中获得No Provider错误,并且在构造函数外声明它时没有错误。

此代码有效,无错误

  private data: Array<MyType>;

  constructor(private service: Service) {
    this.service.getData().then(response => this.data = response.json());
  }

然后,矛盾的是,下面的内容不起作用,并产生了在代码段下面找到的错误。

  constructor(private data: Array<MyType>, private service: Service) {
    this.service.getData().then(response => this.data = response.json());
  }

控制台错误

  

EXCEPTION:错误:未捕获(在承诺中)原始异常:没有数组提供者!

这是一些语法错误吗?我是否会误解一个概念?两种实现看起来都是相同的,并且感觉它们应该完全相同。

1 个答案:

答案 0 :(得分:1)

代码是等效的...除了对构造函数的调用。 ;)

在第一种情况下:

new TheClass(service);

在第二种情况下:

new TheClass(somethingHere, service);