2012-12-27 26 views
8

是否有任何庫可以處理此問題?像backbone.offline one ?,如果不是,這將難以用Ember.js實現嗎?如何使Ember.js應用程序在服務器同步時脫機

UPDATE

question有兩個庫,可以幫助,Breeze.js和Jaydata ..

+2

Ember沒有該功能。我可能是錯的,但據我所知,解決方案是爲瀏覽器的localStorage(或類似的東西)實現適配器和序列化程序,並創建邏輯以便在您重新上網時進行同步。 – MilkyWayJoe

+0

是的,應該工作,但我不知道如果Ember.js有一個後端通信的中心點(如Backbone.js'sync'方法) – Orlando

+0

我不知道它是否有,據我所知它不,所以你必須實現一個。如果我沒有弄錯,像*這樣的東西是計劃的 – MilkyWayJoe

回答

3

有這個沒有圖書館,但你可以用自定義適配器實現它。適配器API沒有太多文檔,到目前爲止,核心中僅有的文檔是RESTAdapterFixtureAdapter

你基本上需要做的是實現幾個鉤子並將其插入到應用程序的商店中。

4

ember-localstorage適配器可以使用。

它可以像其他適配器一樣使用。

App.store = DS.Store.create({ 
    revision: 11, 
    adapter: DS.LSAdapter.create() 
}); 

另一個好庫餘燼和Rails是ember-data-sync.js

從DS.SyncStore擴展你的App.Store。定義你要使用的客戶端存儲適配器:

App.Store = DS.SyncStore.extend({ 
     revision: 10, 
     adapter: DS.IndexedDB.adapter({ 
     mappings: { 
      person: App.Person, 
      persons: App.Person, 
      contact: App.Contact, 
      contacts: App.Contact 
     } 
     }) 

}); 
1

尋找一個解決方案還,並呼籲ember-sync項目來了。

該項目在Ember-Data上捎帶,ember-cli已經準備就緒,並且具有智能處理後端記錄CRUD的排隊功能。從我的簡要介紹中,我可以說這是Ember.js脫機應用程序的主要項目。

我在這個項目上提交的一個批評是,它也應該能夠適應epf.io,它本身就是Ember-Data的替代品,並提供交易CRUD,嵌套商店 - 甚至每個模型嵌套存儲功能。

在撰寫本文時,該項目仍處於alpha階段,儘管它似乎朝着正確的方向前進。

相關問題