Используйте событие нажатия MorrisJs с Angular 6 - PullRequest
0 голосов
/ 01 октября 2018

Я использую эту оболочку MorrisJs Chart в одном проекте.Это работает очень хорошо, но я не могу найти способ получить результат события click.

С исходным Morris.js, использующим jQuery, можно получить событие click, подобное этому:

Morris.Line({ 
    ...
}).on('click', function(i, row) { 
    console.log(i);
    console.log(row);
});

Вы знаете, как перехватить этот щелчок с помощью Angular?Спасибо!

1 Ответ

0 голосов
/ 17 января 2019

Сегодня я нашел решение.В директиву следует внести 3 изменения:

  1. import Output, EventEmitter
  2. инициализировать вывод как источник событий @Output() clickChart = new EventEmitter();
  3. Привязать событие щелчка диаграммы Моррисас выводом директивы: let my_this = this; this.chartInstance.on('click', function(i, row) { my_this.clickChart.emit({ event, i, row }); });

Затем событие click может быть зафиксировано в компоненте с помощью метода (clickChart).Пример:

<div    mk-morris-js
        type='Bar'
        [options]='options'
        [data]='datas'
        (clickChart)='test($event)'
></div>

Полный источник директивы можно увидеть в моем запросе на получение .

...