为什么callback函数里面不能直接调用属性?

比如我想设置精灵图片:

cc.loader.loadRes("image.png",cc.SpriteFrame, function (err, spriteFrame){
        this.sprite.spriteFrame =  spriteFrame;

    });

sprite 是上面已经定义好的属性,但是控制台报错:undefined is not an object (evaluating ‘this.sprite’)
什么原因? 应该怎么做?

  • Creator 版本:

  • 目标平台:

  • 详细报错信息,包含调用堆栈:

  • 重现方式:

  • 之前哪个版本是正常的 :

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :

  • 编辑器之前是否有其它报错 :

  • 出现概率:

  • 额外线索:

https://www.cnblogs.com/pssp/p/5216085.html

cc.loader.loadRes(“image.png”,cc.SpriteFrame, (err, spriteFrame)=>{
this.sprite.spriteFrame = spriteFrame;

});

this的上下文错,要不你bind,要么,你用=>这个符号

var self = this;
cc.loader.loadRes(“image.png”,cc.SpriteFrame, function (err, spriteFrame){
self.sprite.spriteFrame = spriteFrame;

});

asdf

你是认真的么:scream:

谢谢大家回复,基本弄懂了