2

我正在使用angular2-highcharts但我不认为这个问题是特定的。

我遇到的问题是图表在使用新数据更新之前使用空数组呈现。我最终想使用单击事件来使用 API 调用更新 testArray 并启动一个包含显示该数据的图表组件的对话框。所以我需要这一切以某种方式同步发生或使用可观察的来等待数据?

模板:

<chart type="StockChart" [options]="options"></chart>

打字稿:

testArray = []
options: Object;

httpCall():Observable<any>{
  return this._http.get(httpUrl, options)
      .map((res:Response)=> res.json()
)};

updateArray(){
  this.httpCall()
    .subscribe(res =>{
        for (let data of res.data){ 
           this.testArray.push([
                 Date.parse(data['date']), 
                 parseInt(data['value'])
           ])
        }
    })
};
// This is for chart:
makeGraph(){
  this.options = {
            series: [{
                      type: 'column',
                      data: this.testArray,
                    }]
  } 
}

任何帮助都会很棒

4

1 回答 1

1

您应该查看路由器数据解析器。我在一个关于以离子方式做这样的事情的问题中写了他们。

这应该为您提供如何自己实施它们的路线图。

(Ionic 在幕后使用 Angular,但不使用路由器,而是使用导航控制器——它又被改成了别的东西)。

如果您需要更多详细信息,我在 Angular 大学中了解了这些内容:

具体来说,这些内容涵盖以下课程主题:

  • Switch Branches Router 数据预取和加载指示器,以及
  • 实现路由器加载指示器

源材料也在 Github 上。您必须知道要从视频中签出哪些分支,然后继续获取您需要的代码。

于 2017-07-16T09:15:28.630 回答