2016-03-08 176 views
5

我們的開發團隊開始轉向Angular2/Ionic2框架,一個小細節讓我們感到困惑 - 這是實現數據持久性的最佳方式?我已經找到了一份關於Ang2數據持久性設計的幾乎兩年前的Google Doc,但是,它似乎並沒有完全實現。我需要的最重要的功能是:Angular 2數據持久性

  1. 結合在客戶端和服務器端數據,所以每一次變化就會自動提交
  2. 本地數據集時,該應用程序進入脫機
  3. 緩存脫機工作,工作,與後端立即重新連接

同步它(總之,Swarm.js的例如功能) 我搜索博客,計算器,但至今沒有答案 - 因爲據我瞭解,我可以」甚至使用廣泛接受d外部解決方案(例如PouchDB)來解決這個問題,並且不斷在localStorage中使用手動緩存進行http get/post調用將不會爲我們正在進行的項目執行此操作。你怎麼看?有沒有辦法做到這一點?

回答

4

PouchDB dev here。原則上,您可以在Angular中使用任何客戶端數據庫。就我個人而言,我編寫了幾個使用直接PouchDB的應用程序(從未見過需要angular-pouchdb TBH)。這裏有一個開源的例子:https://github.com/pouchdb/npm-browser

雖然PouchDB已經優化,可以與CouchDB同步。如果你只是想要一個簡單的鍵值存儲API來取代LocalStorage,我推薦LocalForage。它基於承諾,因此您可以將其包裝爲$q.when()並將其用於Angular服務中,並且它應該對Angular來說非常原生。

+0

謝謝。我認爲我們將用Ionic2 + PouchDB做一個更小的研究項目作爲數據同步解決方案。 – zzllee

+0

就像angular 2宣傳打字稿一樣,離線緩存也有什麼用處,在線情景時是否同步?什麼角度2開發通常用於實現企業應用程序的這種情況? –