AmCharts XY图表-如何在Angular中单击获取模态弹出窗口?

时间:2019-04-16 19:19:45

标签: angular amcharts amcharts4

我们需要在用户单击数据点时显示模式窗口。

我们拥有的代码是:

  constructor(public dataservice: DataserviceService, private modalService: NgbModal, private router: Router) { }
  ...
  ...
  bullet.events.on("hit", function (ev) {
    console.log(ev.target._dataItem.dataContext);
    this.modalService.open(this.dialog);
  });
}

public showDialog() {
  this.modalService.open(this.dialog);
}

enter image description here 我们可以在控制台中看到日志数据。我们该如何解决?

1 个答案:

答案 0 :(得分:1)

代码看起来不错,但是正如@yurzui所提到的,问题出在这里

bullet.events.on("hit", function (ev) {}

因为它将从另一个上下文中调用,所以modalService在此处不可用。尝试使用箭头功能,以便保留此上下文。要解决此问题,

bullet.events.on("hit", (ev) => {
    console.log(ev.target._dataItem.dataContext);
    this.modalService.open(this.dialog);
 });