私は現在、frontend
の場合はAngular2
とTypeScript
、backend
の場合はSpring-Bootのビジュアライゼーションアプリケーションに取り組んでいます。今、私は、backend
からのデータが、ng2-chartコンポーネントに表示されることになっています。親の前にAngular2、ng2-chartの子レンダリング
親コンポーネントのngOnInit()関数にデータをロードしています。ここ
ngOnInit() {
this._sqlService.getCubeErrors().subscribe(
data => {
for (var i = 0; i < data.length; i++) {
this.barLabels.push(data[i]["monthCube"]);
this.barData[0]["data"].push(data[i]["errors"]);
}
},
err => { this.error = true }
)
}
と私のサービス::barLabels
とbarData
は、子コンポーネントに渡され
getCubeErrors() {
return this.http.get('/rest/cubeerrors').map((res: Response) => res.json());
}
二つの配列データは、そのように私の子コンポーネントの入力として働く二つの配列にプッシュされます
012:私はチャートを作成するためにそれらを使用しています、私の子コンポーネントで<bar-chart [barLabels]="barLabels" [barData]="barData" ></bar-chart>
:このような
@Input() barData: any[];
@Input() barLabels: Array<string>;
public barChartData: any[] = this.barData;
public barChartLabels: string[] = this.barLabels;
私はいくつかのconsole.log()ブレークポイントでデータを追跡しようとしましたが、それらは同じであるようです。
私が直面している問題は、何とか子コンポーネントのチャートがレンダリングされてからngOnInit()
が発生し、データが表示されないということです。 何らかの更新機能を探していましたが、成功しませんでした。私は、誰かがこのための答えを持っているかもしれません願っています
、
セバスチャン
。それは配列内の要素をプッシュして検出されません –
テスト目的のために私のチャートコンポーネントでngOnChanges()を試して、それが発生したので、私はそれが変更を検出したと思う。 – CodeDonkey