我们需要在用户单击数据点时显示模式窗口。
我们拥有的代码是:
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);
}
答案 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);
});