回答

2

不完全确定你在找什么,但是当我想用脱机功能编写我的离子应用程序时,我使用新的HTML5 localStorage变量。

每当应用程序背景或退出时,我都会将应用程序数据和列表的快照保存到此列表中,因此在用户离线时它仍具有用户内容。

如果要将对象存储到localStorage中,请使用JSON.parse/stringify()
如果你想很容易地获取/组对象只是修改原型:

Storage.prototype.setObject = function(key, value) { 
    this.setItem(key, JSON.stringify(value)); 
} 

Storage.prototype.getObject = function(key) { 
    var value = this.getItem(key); 
    if (value) return JSON.parse(value); 
    else return false; 
} 

的localStorage只能容纳字符串,它的极限变化from browser to browser

我用于保存较大的斑点/图像/ PDF /长列表/文件的其他方法是Apache cordova-plugin-file plugin。这就给了Ionic App文件系统访问权限(如果你需要离线访问,你可以在那里缓存自己的快照。只要检查连接并不断更新它,如果没有连接将你的应用程序直接指向本地内容而不是在线内容)。

真的取决于你有什么样的应用程序。我使用HTML5的localStorage作为我拥有的清单应用程序,类似于iOS的提醒应用程序,但对于不同的列表具有更大的灵活性,并且将所有用户列表保存为localStorage作为JSON字符串。我有一个手动或自动更新设置,所以当它检测到连接时,它会与他们的帐户同步,以保持最新状态。

我正在处理的另一个应用程序创建PDF并将它们同步,因此我使用cordova-plugin-file,因为PDF相当大。