Добавление Highchartsevent после создания - PullRequest
0 голосов
/ 04 мая 2018

Я не хочу добавлять и удалять события после создания графика. Проблема в том, что я не могу получить свойства диаграммы, обрабатывая событие. Как:

event.xAxis[0].min

Я создал пример:

https://stackblitz.com/edit/angular-sw9fbo?file=src%2Fapp%2Fapp.component.ts Строка 55:

private addEvents(): void {    
      Highcharts.addEvent(this.chartTarget.nativeElement, 'selection', (event) => {
      // problem can't get xAxis or any properties of the chart
      console.log('selection->x-min: ', event.xAxis[0].min); 
    });
}

Edit:

Обновлено Стек-блиц

1 Ответ

0 голосов
/ 04 мая 2018

Ваш код имеет два небольших недостатка, которые нарушают поведение:

Во-первых, вам нужно вызвать метод addEvents. вместо this.addEvents; в строке 43 вам нужно позвонить this.addEvents();

Во-вторых, метод Highcharts.addEvent() ожидает, что вы передадите фактический объект диаграммы, а не ссылку на его контейнер. Поэтому измените строку 50 на

Highcharts.addEvent(this.chart, 'selection', (event) => {

для прохождения графика, созданного выше.

Edit:

Чтобы удалить ошибки компиляции TypeScript и получить полную функциональность автозаполнения, вам необходимо вручную установить соответствующий пакет type из npm.

npm install --save @types/highcharts

импортировать определенный тип события соответственно вверху вашего файла.

import {ChartSelectionEvent} from 'highcharts';

и, наконец, добавьте Type соответственно сигнатуре функции.

Highcharts.addEvent(this.chart, 'selection', (event: ChartSelectionEvent ) => {

I обновил ваш код стекаблика соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...