Я приложил фрагмент кода. У меня есть метод в rand()
в классе HomeComponent, и я хочу вызвать его для оси y, но из текущего сценария это невозможно, потому что всякий раз, когда onRefresh()
вызывается this.rand()
, не достижимо, что ожидается. Потому что onRefresh()
вызывается из ядра. js, который является базовой библиотекой. Поэтому, пожалуйста, помогите сделать это
export class HomeComponent implements OnInit, OnDestroy {
....
..
options: any = {
scales: {
xAxes: [
{
type: 'realtime',
realtime: {
onRefresh(chart: any) {
chart.data.datasets.forEach(function(dataset: any) {
dataset.data.push({
x: Date.now(),
**y: this.rand()**
});
});
chart.config.options.scales.yAxes[0].ticks.min = chart.helpers.niceNum(20);
chart.config.options.scales.yAxes[0].ticks.max = chart.helpers.niceNum(180);
},
delay: 2000
}
}
]
},
annotation: {
annotations: [
{
type: 'line',
mode: 'horizontal',
scaleID: 'y-axis-0',
value: '120',
borderColor: 'tomato',
borderWidth: 2
},
{
type: 'line',
mode: 'horizontal',
scaleID: 'y-axis-0',
value: '70',
borderColor: 'blue',
borderWidth: 2
}
]
//drawTime: "afterDraw" // (default)
}
};
....
....
rand(): Number {
return Math.floor(Math.random() * (200 - 100 + 1)) + 100;
}
}
Заранее спасибо :)