Highcharts угловой Получить Статус Элемента Легенды

#angular #highcharts

Вопрос:

Я создал общий компонент HighCharts в своем проекте angular. Я передаю ему диаграммы из всех потребляющих компонентов и пытаюсь получить доступ к свойству «видимый» для каждой серии в потребляющем компоненте. Эти значения, которые я получаю, похоже, не имеют обновленных пауз, даже если я переключаю условные обозначения на диаграмме

Вот реализация, в которой я пытаюсь получить доступ к статусам по нажатию кнопки в компоненте приложения.

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

1. Вы не можете получить фактическое значение ряда с помощью того, как вы пытаетесь. Вы передаете значение параметра, но это не двусторонняя привязка. (И я сомневаюсь, что Highcharts поддерживает двустороннюю привязку опций). Таким образом, вы считываете только начальное значение, переданное на диаграмму.

Ответ №1:

Как я уже упоминал в комментариях. Вы просто перечитываете значение опции. Вам нужно что-то еще, чтобы получить последнюю версию серии. render событие может помочь вам в этом. Обходной путь, как показано ниже, может соответствовать вашим потребностям :

   chartOptions = {
    ...new progressMonitoringGraphConfig(this.mockData).graphConfig,
    chart: {
      events: {
        render: (ctx) => {
          this.seriesVisibility = ctx.target.series.map(
            ({ visible }) => visible
          );
        },
      },
    },
  };
  seriesVisibility = this.chartOptions.series.map(({ visible }) => visible);

  printStatus() {
    console.log(this.seriesVisibility);
  }
 

Стакблитц