Node Webkit / Angular / Change Model

时间:2015-06-06 19:34:42

标签: angularjs node-webkit

对于一个不熟悉的节点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连接到我的控制器的内容。

感谢任何暗示......

1 个答案:

答案 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文件将已加载,并保留所需的行为。