背景:我有一个gui我正在整理一个我一直在努力的应用程序。应用程序从YAML文件加载其最后一个状态,并且应该在应用程序关闭时将该状态保存到YAML文件。我正在使用以下事件监听器......
// Handle close event
window.addEventListener('beforeunload', function(event) {
if(doc) {
// This line gives error: "Uncaught ReferenceError: main is not defined"
doc.project_notes.text = main.summernoteText;
fs.writeFile('../resources/project.yml', yaml.safeDump(doc), function (error) {
if (error) {
throw error
}
});
}
console.log("Bye...");
});
angular
.module('inspinia')
.controller('MainCtrl', MainCtrl)
(在我的index.html中)
<body ng-controller="MainCtrl as main">
我将所有状态保存在名为doc
的全局变量中。它使用以下
function MainCtrl() {
activeProject = LoadActiveProject();
/**
* summernoteText - used for Summernote plugin
*/
this.summernoteText = doc.project_notes.text;
};
我的问题主要是角度控制器/变量的范围。
首先,我是否正确地处理了这个问题? 如果这是合理的,我如何从我的卸载函数更新doc.project_notes.text或通过引用链接这两个变量?
我对Javascript很陌生。