问题也许很简单,但我对此很固执。
我有一个chartjs
选项对象。其中有一个回调函数。
我需要在该函数(this.period
)中使用某些组件的变量。
是否可能这样?
组件代码:
@Input() period: string;
public lineChartOptions: any = {
responsive: true,
// maintainAspectRatio: false
scales: {
xAxes: [{
ticks: {
max: 10,
callback: (function(value, index, values) {
this.wrapperXAxisCallback(value, index, values)
})
}
}],
}
};
wrapperXAxisCallback(value, index, values) {
switch (this.period) {
case '24hr':
..... break;
case 'week':
..... break;
}
}
答案 0 :(得分:4)
您要使用箭头功能,以便可以将组件(this)
访问回调函数。
public lineChartOptions: any = {
responsive: true,
// maintainAspectRatio: false
scales: {
xAxes: [{
ticks: {
max: 10,
callback: ((value, index, values) => {
this.wrapperXAxisCallback(value, index, values)
})
}
}]
}
};
在此处查看完整参考:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions
答案 1 :(得分:3)
尝试一下
fedora28