对于一个不熟悉的节点webkit的新手来说,这是一个非常具体的问题,Angular的新手,关于Web开发的所有内容:
我的应用程序基于一个JSON文件,我在我的节点webkit app的init处加载,这是一堆计算的中心。
在应用程序中,可以打开文件对话框来创建新的JSON文件。当然,现在,我希望应用程序根据新的JSON重新计算所有内容。当我按下node webkit的“刷新”按钮时,它可以工作,但我无法使用
运行它 require('nw.gui').Window.open('index.html');
也不是
require('nw.gui').Window.get().reload(3);
。
我也想知道在节点级别处理这个是否是一个好方法。不应该由Angular完成吗?但我无法从“外部”javascript连接到我的控制器的内容。
感谢任何暗示......
答案 0 :(得分:1)
在页面上加载逻辑总是很棘手,正如你所提到的 - 需要页面重新加载不太优雅的东西,现代应用程序避免这种情况。
在您的情况下,我建议如果您的JSON文件不是很大 - 将其存储在变量中并根据需要进行修改。优雅的方法是创建Angular服务,它可以充当“模型”。
SCNShadowModeDeferred
然后,每当您需要更新JSON调用angular.service('JsonService', function() {
var json = {
// content
};
return {
getJson: function () {
return json;
},
setJson: function (newJson) {
json = newJson;
}
};
});
方法并修改控制器以使用服务setJson(newJson)
方法时。
您还可以将加载/保存到文件功能添加到此服务。可以在连接到仪表板页面的主控制器中调用加载功能。然后,在第一个页面可见之前,JSON文件将已加载,并保留所需的行为。