gpt4 book ai didi

javascript - Backbone 中的 FileReader 范围问题

转载 作者:行者123 更新时间:2023-11-30 10:30:18 26 4
gpt4 key购买 nike

我无法弄清楚如何在下面的 render.onload 函数中访问 this。我知道答案可能涉及闭包,但我还不能完全理解它。

var PhotoModel = Backbone.Model.extend({

initialize: function() {
this.uploadPhoto();
},

uploadPhoto: function() {
var file = this.get("file");
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function(event) {
// I don't have access to "this" here...
this.dataURL = event.target.result;
}
}

});

最佳答案

在该函数的范围之外创建对 this 的引用,如下所示:

var self = this; // or var that = this;
reader.onload = function() {
// access `this` using `self`
self.model.dataURL = event.target.result;
}

关于javascript - Backbone 中的 FileReader 范围问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17245992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com