代码之家  ›  专栏  ›  技术社区  ›  David

在事件响应内使用对象/调用方法

  •  0
  • David  · 技术社区  · 8 年前

    比如说,我在爱奥尼亚应用程序中有一个类

    export class DetailPage {
        ...
    
      constructor(
        ...
        public popoverCtrl: PopoverController
      ) {
        ...
      }
    
      mouseDown(ev) {
    
        let popover = this.popoverCtrl.create(PopoverPiece ..... )
    
      }
    

    使用ionViewDidLoad方法,如下所示:

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

    好啊我不能创建popover,因为当mouseDown被激发时,我在一个实例中不是(让我说,可能不是那么准确) 详细信息页和此。popoverCtrl未定义。

    我怎么能做类似的事?!例如,如何创建一个popover来响应鼠标向下移动? 我无法在mouseDown()内部创建DetailPage的实例,因为构造函数有很多参数,我没有说明如何创建。

    我可以在mouseDown()函数中创建一个对象“popoverCtrl”吗?!如何做到这一点?

    1 回复  |  直到 8 年前
        1
  •  0
  •   Suraj Rao Raas Masood    8 年前

    传递函数时,作用域正在更改 this.mouseDown 进入事件侦听器。使用箭头功能或 bind

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