在事件响应中使用 objects/calling 方法

Using objects/calling methods inside event response

假设我在离子应用程序中有一个class喜欢

export class DetailPage {
    ...

  constructor(
    ...
    public popoverCtrl: PopoverController
  ) {
    ...
  }

  mouseDown(ev) {

    let popover = this.popoverCtrl.create(PopoverPiece ..... )

  }

使用方法 ionViewDidLoad 如下:

ionViewDidLoad() {
    ...
    object1.addEventListener("mousedown", this.mouseDown, false);
}

好的。我无法创建弹出窗口,因为当 mouseDown 被触发时,我不是(让我说,可能不太准确)在一个实例中 DetailPage 和 this.popoverCtrl 未定义。

我怎样才能做类似的事情?!例如,我如何创建一个弹出窗口来响应鼠标按下? 我无法在 mouseDown() 中创建 DetailPage 的实例,因为构造函数有很多参数我没有说如何创建。

我可以在 mouseDown() 函数中创建一个对象 'popoverCtrl' 吗?!又如何?

当您将函数 this.mouseDown 传递给事件侦听器时,您的范围正在发生变化。使用箭头函数或bind.

object1.addEventListener("mousedown", this.mouseDown.bind(this), false);