如何在Angular 2中迭代组件中的Observable响应对象

时间:2017-01-03 15:20:05

标签: angular

我从Component类调用服务并将Observable(Customers)Object作为响应。 如果我使用 <div *ngFor="let cust of customerDetailsItem"> {{cust.id}} </div>然后我获得了价值观。但如果我想在组件中使用该可观察的响应,那么它会显示&#34; Undefined&#34;。

    constructor(public service:ViewListCustomerServiceService) {
    this.service.getCustomerItemList().subscribe(lst =>this.customerDetailsItem=(lst));
console.log(this.customerDetailsItem);    //Showing Undefined.
  }

因为我想&#34; customerDetailsItem&#34;用于将数据分配给Component类中的Json对象。

1 个答案:

答案 0 :(得分:0)

在您收到订阅的回复之前,您的对象this.customerDetailsItem将不会被定义。因此,您可以执行的操作是在收到lst后执行必要的代码。

constructor(...) {
    this.service.getCustomerItemList()
        .subscribe(lst=>this.initialize(lst));
}

initialize(lst: any) {
   this.customerDetailsItem = lst;
   // from now on your object will be set
}