0
我有一个图表,从服务中的HTTP提取获取数据。我使用activate来获取查询参数(params.task)。从调试中,我可以看到图表的数据已成功提取,但问题是,我发现一个错误,我认为 - 从我的众多试验中,正在发生,因为图表的数据在图表渲染时尚未提供。我如何确保数据在图表呈现之前可用?尝试使用if.bind,但它适用于我的页面中的其他组件,除了图表。我正在使用https://github.com/grofit/aurelia-chart作为图表。里面的方法激活奥里利亚
错误消息:
无法读取未定义
ChartServices类的特性 '长度':
getChart(ticket: string) {
return this.http.fetch(this.api('chart?ticketNumber=' + ticket))
.then(result => result.json());
}
而且在TicketComponent类我的激活方法:
activate(params, routeConfig) {
this.chartService.getChart(params.task)
.then(response => this.resetLineData(response));
}
resetLineData(chart: any) {
this.SimpleLineData = {
labels: chart.labels,
datasets: chart.dataSets,
};
}
而我的HTML
<template>
<require from="./ticket.component.css"></require>
<div class="row">
<div class="col-lg-8">
<div class="chart">
<fieldset>
<legend> ${ ticketName } </legend>
<canvas id="bar-chart" chart="type: bar; should-update: true; data.bind: SimpleLineData"></canvas>
</fieldset>
</div>
</div>
</div>
真的......我花了10个小时在这个问题上工作,问题只是与“返回”。我会记下这一点。非常感谢你! –
我们都在那里:-) –