【问题标题】:Ionic FabricJs Problem with access to functionIonic FabricJs 访问函数的问题
【发布时间】:2019-04-18 12:36:27
【问题描述】:
ionViewDidEnter(){
    this.loadCanvas();
}
loadCanvas(){
    canvas.on('mouse:down', function(e){
        this.canvasMouseDown(e);    
    });
}
canvasMouseDown(e){
    console.log(this.lock);
    console.log(this.pausePanning);
    if(!this.lock){
        this.pausePanning = true;
    }
}

那是代码。每次单击时都会出错。如下所示

Ionic error

我尝试了所有组合,但仍然遇到同样的问题

【问题讨论】:

  • loadCanvas(){ let self = this; canvas.on('mouse:down', function(e){ self.canvasMouseDown(e); }); }

标签: angularjs ionic-framework ionic3 fabricjs


【解决方案1】:

结构事件是bound 到触发它们的对象,这意味着这里:

canvas.on('mouse:down', function(e){
    this.canvasMouseDown(e);    
});

thiscanvas 的一个实例。当你调用this.canvasMouseDown() 时,你实际上是在调用canvas.canvasMouseDown(),所以这就是错误的来源。尝试使用arrow function 作为事件处理程序:

loadCanvas(){
    canvas.on('mouse:down', (e) => {
        this.canvasMouseDown(e);    
    });
}

【讨论】:

    猜你喜欢
    • 2019-02-20
    • 1970-01-01
    • 1970-01-01
    • 2018-12-11
    • 2020-12-12
    • 2011-07-20
    • 1970-01-01
    • 2018-08-01
    • 2019-07-17
    相关资源
    最近更新 更多