2016-03-08 51 views
5

Il nostro team di sviluppo ha avviato il grande passaggio al framework Angular2/Ionic2 e un piccolo dettaglio ci ha lasciato perplessi: qual è il modo migliore per ottenere la persistenza dei dati? Ho trovato un documento Google di quasi due anni su un Design for Ang2 Data Persistence, tuttavia, non sembra che sia stato implementato del tutto. Le funzioni più importanti di cui ho bisogno sono:Angular 2 Persistenza dei dati

  1. vincolanti i dati sul client e lato server, in modo che ogni cambiamento viene impegnato automaticamente
  2. set di dati locali per lavorare con quando l'applicazione non è in linea
  3. cache il lavoro non in linea, la sincronizzazione con il backend immediatamente sulla riconnessione

(In breve, la funzionalità di Swarm.js per esempio) ho blog, StackOverflow, ma finora nessuna risposta cercato - per quanto mi capito che posso' t anche usare ampiamente accettato d soluzioni esterne, come PouchDB, per risolvere questo problema e effettuare costantemente chiamate get/post http con il caching manuale in localStorage non lo faranno per i progetti su cui stiamo lavorando. Cosa ne pensi? C'è un modo per ottenere questo?

risposta

4

PouchDB dev. Qui. In linea di principio, è possibile utilizzare qualsiasi database lato client con Angular. Personalmente ho scritto alcune app Angolari che utilizzavano PouchDB (non ho mai visto un'esigenza per angular-pouchdb TBH). Ecco un esempio open source: https://github.com/pouchdb/npm-browser

PouchDB, tuttavia, è ottimizzato per la sincronizzazione con CouchDB. Se si desidera semplicemente una semplice API di archiviazione valore-chiave per sostituire LocalStorage, si consiglia di LocalForage. È basato sulle promesse, quindi puoi semplicemente aggiungerlo a $q.when() e utilizzarlo in un servizio angolare e dovrebbe essere piuttosto nativo per Angular.

+0

Grazie. Penso che faremo un progetto di ricerca più piccolo con Ionic2 + PouchDB come soluzione di sincronizzazione dei dati. – zzllee

+0

Come l'angolare 2 che promuove il dattiloscritto, allo stesso modo c'è qualcosa per la cache offline, la sincronizzazione quando gli scenari online? Che cosa angular 2 dev di solito utilizzare per ottenere tale caso per un'applicazione aziendale? –