下面是我尝试修改的JS脚本(时间序列):
self.onInit = function() {
self.ctx.flot = new TbFlot(self.ctx, 'bar');
console.log("console",self.ctx.data)
}
self.onDataUpdated = function() {
//console.log("console",self.ctx.$scope.data[0]) //
self.ctx.flot.update();
}
self.onLatestDataUpdated = function() {
self.ctx.flot.latestDataUpdate();
}
self.onResize = function() {
self.ctx.flot.resize();
}
self.onEditModeChanged = function() {
self.ctx.flot.checkMouseEvents();
}
self.onDestroy = function() {
self.ctx.flot.destroy();
}
self.typeParameters = function() {
return {
hasAdditionalLatestDataKeys: true
};
}
字符串
我计划通过复制第一个元素再添加一个数据源:
self.ctx.data.push(self.ctx.data[0]);
型
然后对所有来源的数据求和,以更新重复元素处的数据,最后仅在条形图中绘制此值。
但是,在复制元素并运行之后,我收到了以下错误:
的数据
的
我可以看到图表中的数据正在更新,但在我进行数学运算之前,我得到了一个错误。以下是复制数据之前和之后的控制台日志。
型
的
我的方法正确吗?我是否应该更新HTML模板并使用$scope
?
谢谢
1条答案
按热度按时间3qpi33ja1#
您创建重复数据的方式是否存在问题?
字符串
如日志所示,
self.ctx.data[0]
是一个对象。这意味着以这种方式复制,您的数据[0]和新的最后一个元素是链接和相同的。当您修改数据[0]时,它会更新最后一个元素,反之亦然。您最好创建一个新对象。也要小心嵌套对象。