在 promise 返回数据后渲染 chart-js 折线图
Rendering a chart-js line chart after a promise has returned data
用户转到他们的仪表板页面,我有一个工厂返回该页面的数据。当 promise returns 表更新正常时,但 chart-js 不呈现。
如果我模拟一些数据并将其放在我的 .then()
代码的 外部 图表将呈现在页面上,但将其移入内部却不会.
我认为问题出在这段代码 运行 "too early" 上。它在返回之前查找 lineOptions 和 lineData。
<canvas linechart=""
options="lineOptions"
data="lineData"
height="260"
responsive="false"
width="1200"></canvas>
我是 Angular 的新手,我不太确定如何解决这个先有鸡还是先有蛋的问题。
如何让 <canvas>
等待 lineData 和 lineOptions 被填充?
我试过 ng-show/ng-hide 调用一个函数来检查数据,但这不起作用。我也试过 ng-if 也没有效果。
提前致谢。
我不确定它在您的代码中的样子。但是你试过这样做吗?
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
用户转到他们的仪表板页面,我有一个工厂返回该页面的数据。当 promise returns 表更新正常时,但 chart-js 不呈现。
如果我模拟一些数据并将其放在我的 .then()
代码的 外部 图表将呈现在页面上,但将其移入内部却不会.
我认为问题出在这段代码 运行 "too early" 上。它在返回之前查找 lineOptions 和 lineData。
<canvas linechart=""
options="lineOptions"
data="lineData"
height="260"
responsive="false"
width="1200"></canvas>
我是 Angular 的新手,我不太确定如何解决这个先有鸡还是先有蛋的问题。
如何让 <canvas>
等待 lineData 和 lineOptions 被填充?
我试过 ng-show/ng-hide 调用一个函数来检查数据,但这不起作用。我也试过 ng-if 也没有效果。
提前致谢。
我不确定它在您的代码中的样子。但是你试过这样做吗?
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