использовать функцию углового компонента в качестве обратного вызова в настройках объекта - PullRequest
0 голосов
/ 09 октября 2018

Вопрос может быть простым, но я застрял с ним.

У меня есть 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;
    }
  }

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Вы хотите использовать функцию стрелки, чтобы вы могли получить доступ к своему компоненту (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

0 голосов
/ 09 октября 2018

Попробуйте это

public lineChartOptions: any = {
    responsive: true,
    // maintainAspectRatio: false
    scales: {
      xAxes: [{
        ticks: {
          max: 10,
          callback: ((value, index, values)=>{
            this.wrapperXAxisCallback(value, index, values)
          })
        }
      }],
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...