假设我在离子应用程序中有类似
的类export class DetailPage {
...
constructor(
...
public popoverCtrl: PopoverController
) {
...
}
mouseDown(ev) {
let popover = this.popoverCtrl.create(PopoverPiece ..... )
}
使用ionViewDidLoad方法,如下所示:
ionViewDidLoad() {
...
object1.addEventListener("mousedown", this.mouseDown, false);
}
确定。我无法创建弹出框,因为当mouseDown被触发时,我不是(让我说,可能不那么准确)在一个实例中 of DetailPage和this.popoverCtrl未定义。
我该怎样做类似的事情?!我怎样才能创建一个popover来响应mousedown? 我无法在mouseDown()里面创建一个DetailPage实例,因为构造函数有很多参数我不说怎么创建。
我可以在mouseDown()函数中创建一个对象'popoverCtrl'吗?怎么样?
答案 0 :(得分:0)
将函数this.mouseDown
传递给事件侦听器时,范围会发生变化。使用箭头功能或bind
。
object1.addEventListener("mousedown", this.mouseDown.bind(this), false);