Общий рисунок в Highcharts с Angular 6

Общий чертеж highchart

На изображении выше показан пример общего рисования на высоких диаграммах. Здесь я хочу добавить событие щелчка на ярлыках, чтобы вызвать мою функцию angular или обновить любой элемент html без использования jquery. Кто-нибудь знает, как это сделать, я много искал, но выхода не нашел?

ren.label('PHP Server-1', 15, 87)
    .attr({
        fill: '#57c15d',
        stroke: 'white',
        'stroke-width': 2,
        padding: 5,
        r: 5
    })
    .css({
        color: 'white',
        fontSize: '16px'
    }).on('click',function(){
        this.clickedNode = false;
        alert(this.clickedNode);            
    })
    .add()
    .shadow(true);

Выше я пытаюсь установить false для переменной clickedNode и получить доступ к тому же в угловом представлении. Он предупреждает меня о ложном, но не обновляет мой пользовательский интерфейс. Для справки: https://www.highcharts.com/demo/renderer

Заранее спасибо.

Что такое this.clickedNode, потому что в вашем коде this относится к пути SVG? Прочтите Как спросить и создайте минимальный воспроизводимый пример, используя, например, кодовый код или аналогичный

ewolden 23.11.2018 13:43
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
1
151
1

Ответы 1

Вы можете добавлять события в SVGElements с помощью on() следующим образом:

ren.path([
  'M', 235, 185,
  'L', 235, 155,
  'C', 235, 130, 235, 130, 215, 130,
  'L', 95, 130,
  'L', 100, 125,
  'M', 95, 130,
  'L', 100, 135
])
  .attr({
     'stroke-width': 2,
     stroke: colors[3]
})
  .on(
    'click', //Event type
    function() { 
      alert('clicked'); //event action
    }
).add();

Рабочий пример JSFiddle:https://jsfiddle.net/ewolden/na9jyq0m/14/ (где можно нажать на стрелку между Батик и Клиент SaaS (браузер или скрипт))

API на SVGElement.on():https://api.highcharts.com/class-reference/Highcharts.SVGElement#on

Привет, спасибо за ответ. Но я сделал это, предупреждение работает, но не может вызывать мои функции angular. Ты хоть представляешь, почему это так?

Nikita 23.11.2018 13:28

Я не могу сказать, если вы не покажете мне пример того, как вы ее решили.

ewolden 23.11.2018 13:29

Другие вопросы по теме