回答

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相當大。