我在一个项目中使用this wrapper of MorrisJs Chart。效果很好,但是我找不到找到click事件结果的方法。
使用使用jQuery的原始Morris.js,可以获取如下click事件:
Morris.Line({
...
}).on('click', function(i, row) {
console.log(i);
console.log(row);
});
您知道如何使用Angular拦截该点击吗?谢谢!
答案 0 :(得分:0)
今天我找到了解决方案。该指令应进行3处更改:
import Output, EventEmitter
@Output() clickChart = new
EventEmitter();
let my_this = this;
this.chartInstance.on('click', function(i, row) {
my_this.clickChart.emit({ event, i, row });
});
然后,可以通过方法(clickChart)
在组件中捕获click事件。
示例:
<div mk-morris-js
type='Bar'
[options]='options'
[data]='datas'
(clickChart)='test($event)'
></div>
指令的完整来源可以在my pull request中看到。