Я хочу поместить свои данные в chartjs-plugin-streaming

#chart.js

#chart.js

Вопрос:

 type: 'realtime',
    realtime: {
      duration: 20000,
      refresh: 2000,
      delay: 2000,
      pause: false,
      ttl: undefined,
      onRefresh: onRefresh

function onRefresh(chart: any) {
chart.data.datasets.forEach(function (dataset: any) {
dataset.data.push({
  x: Date.now(),
  y:  this.selectedSensor.sensor_val
  // y: undefined
});
});
chart.update();
}
 

Я изменил строковые данные на number и вставил их.

 y:  this.selectedSensor.sensor_val
 

И я также использовал метод изменения формы, но на графике не отображаются данные.

Комментарии:

1. ошибка консоли: ОШИБКА ТИПА ОШИБКИ: не удается прочитать свойство ‘selectedSensor’ неопределенного значения в indoor-model-view.component.ts:429

Ответ №1:

Может быть, вы используете 'use strict' ? В строгом режиме значение this остается таким же undefined , как описано в https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this#function_context . Если selectedSensor определено как глобальная переменная, используйте глобальный объект ( window в браузере) вместо this .