如何重新分配angular2组件中未定义的值

时间:2017-11-13 17:54:43

标签: angular angular2-services ng2-charts angular4-httpclient

我在这里有一个组件声明数字数组public numbers :number[] =[];并给出服务响应中数字数组的值并得到10,并且在ngInit块之后它显示为未定义

app.component.ts

    export class AppComponent implements OnInit {  

      public numbers :number[] =[];  // here declare the variable
      public numberss :Iproduct[]

       ngOnInit(){ 
    // here call the service 

     this._productService.getproducts().subscribe((response) => {this.numberss = response;

    this.errornumber = 10;  // here ressign the value

    }
 }),(err)=> {this.errorMsg =<any>err};

       } // end of ngInit

// here is the 3rd party chart js  pass the this.errornumber gets undefined

    public doughnutChartOptions: any = {
      elements: {
        center: {
          text:this.errornumber +"% <br>products" ,
        }
      }
    };

    } // end of component

这里未定义原因:text:this.errornumber

1 个答案:

答案 0 :(得分:1)

当doughnutChartOptions被定义时,这个时候还没有存在这个。错误数字还没有存在,所以它是未定义的。在通过服务返回产品之后,它将被创建并初始化。因此,您应该创建doughnutChartOptions字段以进行订阅。

Example

https://plnkr.co/edit/CSXxSoWhxppw9ran4AcM?p=preview