开发者社区> 问答> 正文

将数组传递到组件时为空数组(输入)

我使用请求API的结果创建多个数组。这是我按下按钮时调用的组件方法。

ngOnInit() {

// GetListeAnomalies(start_date : string, end_date : string) -> return an array this.servicePS.getListeAnomalies("2019-10-08", "2019-10-08").then( (anomalies : any) => {

  for (let anomalie of anomalies){

    switch (anomalie.type_anomalie) {

      case "erreur_deltaT_recurrent": {
        this.tab_delta_T_recurrent.push(anomalie);
        break;
      }


      case "erreur_absence_emission": {
        this.tab_absence_emission.push(anomalie);
        break;
      }

      case "erreur_delta_T_trop_grand":{
        this.tab_deltaT_trop_grand.push(anomalie);
        break;
      }

      case "erreur_capteur_batterie_faible":{
        this.tab_capteur_batterie_faible.push(anomalie);
        break;
      }

      case "erreur_device_a_remplacer_grande_derive":{
        this.tab_device_a_remplacer_grande_derive.push(anomalie);
        break;
      }

      default: {
        this.tab_other.push(anomalie)
      }
    }
  }
}

) } 然后,我想在名为“ tableau-anomalies”的组件中传递这些数组。所以我用这行:

<app-tableau-anomalies [tabValeurs]="tab_delta_T_recurrent"> 在我的组件中,我尝试使用Input值,但是此值未正确初始化。查看我组件的代码(和我的注释)

export class TableauAnomaliesComponent implements OnInit {

@Input() tabValeurs: any;

constructor() { }

ngOnInit() {

console.log(this.tabValeurs.length); //Return 0
console.log(this.tabValeurs); //Return CORRECTLY my array with my data.

for (let anomalie in this.tabValeurs){
  console.log(anomalie);  //This iteration is not called --> no return, not even 'undefined' is written in the console.
}

} } 我认为有像Promise或Subscribe这样的解决方案吗?但是我不知道该如何使用它……那么您能帮我吗?您有解决方案的主意吗?

提前致谢 :)

展开
收起
被纵养的懒猫 2019-10-09 16:46:24 357 0
0 条回答
写回答
取消 提交回答
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载