在promise返回数据后呈现chart-js折线图

时间:2015-04-15 19:55:10

标签: angularjs charts

用户转到他们的仪表板页面,我有一个工厂返回该页面的数据。当promise返回表时更新OK,但chart-js不会呈现。

如果我模拟了一些数据并将其放在我的.then()代码的 之外,那么图表将在页面上呈现,但是将其移到内部并且它没有。

我认为这个问题与运行的这段代码有关...太早了#34;它会在它们返回之前查找lineOptions和lineData。

<canvas linechart=""
    options="lineOptions"
    data="lineData"
    height="260"
    responsive="false"
    width="1200"></canvas>

我是Angular的新人,而且我不完全确定如何解决这个鸡蛋问题。

如何告诉<canvas>等到lineData和lineOptions被填充?

我已经尝试过ng-show / ng-hide调用函数来检查数据,但这并不起作用。我也尝试过 - 如果也没有效果。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我不确定它在您的代码中的外观。但你是否尝试过做这样的事情?

var chartInstance = new Chart(canvasContext);

// then for your promise object:    
{"some deferred object that retrieves the data"}.then(function(data) {
    chartInstance.Line(data);
});

参考文档:http://www.chartjs.org/docs/#getting-started-creating-a-chart