我目前正在使用来自charts.js的一些图表,我正在添加一些与它们的简单交互,当用户点击条形图中的条形图时,变量会保存单击哪个条形图.
此变量更新折线图,此图表使用先前保存在数组中的数据进行更新,因此每次用户单击条形图中的不同栏时,折线图都应更改.
我的问题是变量没有改变我得到两个不同的值.
默认情况下,变量初始化为0.
控制台日志输出:
from barchart click:3
from change function:0
from barchart click:2
from change function:0
我从同时发生的2个不同功能打印这些线.
这是在条形图上单击条形图时应更改变量值的函数.
graphClickEvent(event:any,array:any){
if(array[0]){
this.offsetGraficas = array[0]._index;
console.log("from barchart click:"+this.offsetGraficas);
}
}
和另一个同时发生的功能:
changeHistorico(n:number) {
console.log("from change function:"+this.offsetGraficas);
this.show_historico = true;
//some unrelated code goes here
}
从我看到的,首先执行graphClickEvent,但我没有对变量进行任何更改.
为什么它没有按预期工作?
最佳答案
在graphClickEvent中看起来像“this”,而changeHistorico中的“this”与此不同.