在事件响应中使用 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);
假设我在离子应用程序中有一个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);