首先,使用Highcharts API以角度7+提取代码:
export class TestComponent implements OnInit{
seek: boolean = false;
exampleChart;
public options = {
chart:{
zoomType: 'x',
events: {
selection: function(event){
this.seek = true;
console.log(this.seek); // outputs to true
}
}
},
xAxis:{
type:'datetime'
}
series:{
// given relevant datetime values
}
};
constructor(){}
ngOnInit{
this.exampleChart = this.options;
}
onClick(){
console.log(this.seek); // outputs false
}
}
场景:首先,我在图形中选择一个特定部分,然后单击按钮
由于zoomtype位于x轴上,所以我可以放大/缩小,并且selection event会触发正确的事件值。但是,在该事件中,我还将seek的值更改为true。此更改不会反映到原始seek上,因为在按下按钮并调用onClick()函数时,控制台输出中的seek值为false。我不知道为什么会这样发生,以及如何获得正确的值。
@ sagat建议的正确答案:
public options = {
chart:{
zoomType: 'x',
events: {
selection: (event)=> {
this.seek = true;
console.log(this.seek); // outputs to true
}
}
},
xAxis:{
type:'datetime'
}
series:{
// given relevant datetime values
}
};
constructor(){}
ngOnInit{
this.exampleChart = this.options;
}
onClick(){
console.log(this.seek); // outputs true
}
谢谢。