在以下 JavaScript 代码中,如果 warnBeforeNew 为 false,则文件打开代码有效。但是,如果 warnBeforeNew 为真,则不会,而是给出错误“未捕获的类型错误:无法读取未定义的属性 'root'”。
我不知道这是否与作用域有关,但是如何让文件加载代码在回调中工作?谢谢。
Editor.prototype.open = function(path) {
if (Editor.warnBeforeNew==true){
this.showDialog({
dialogLabel: 'You have unsaved changes. Are you sure you want to discard them and open a different file?',
submitLabel: 'Discard',
cancelLabel: 'Cancel',
submitCallback: function() {
Editor.warnBeforeNew=false;
this.filesystem.root.getFile(path, {}, this.load.bind(this), error.bind(null, "getFile " + path));
}
});
} else {
this.filesystem.root.getFile(path, {}, this.load.bind(this), error.bind(null, "getFile " + path));
}
};