财产'''类型' {}'上不存在

时间:2016-06-23 09:01:45

标签: typescript

如何摆脱传递到then承诺的数据结构的Typescript错误?

我收到以下错误:

  

财产'计数'类型' {}'

上不存在

以下代码:

this.userData.getSocialLinks(this.navParams.get('image_owner_id')).then(socialLinks => {
  var i = 0;
  for (i=0; i < socialLinks.count; i++) {
    if (socialLinks.results[i].social_type == 'TW') {
      this.profile.twitter = socialLinks.results[i].social_address;
      this.isExistingTW = true;
      this.twEntryID = socialLinks.results[i].id;
    }
    else if (socialLinks.results[i].social_type == 'IN') {
      this.profile.instagram = socialLinks.results[i].social_address;
      this.isExistingIN = true;
      this.inEntryID = socialLinks.results[i].id;
    }
  }
});

我猜我必须以某种方式定义socialLinks,但无法解决问题。

1 个答案:

答案 0 :(得分:5)

标准方法是创建某种接口并将其用作类型:

 sview.contentSize = CGSizeMake(ScreenWidth, 1000);

如果有更明确的T是什么,例如// describe what is coming export interface IData<T> { count: number; results: T[]; } // use that IData this.userData .getSocialLinks(this.navParams.get('image_owner_id')) .then(( socialLinks: IData<any>) => { ...我们可以使用IPerson

使用that here

进行游戏