私はBackbone.js(https://github.com/jeromegn/Backbone.localStorage)のlocalstorageモジュールを実験しています。私が理解しているように、これはBackbone.syncをオーバーロードし、バックボーンがサーバーにプッシュするのを停止します(?)。理想的には、データもサーバーに戻し、オンラインのときはローカルに保持し、オフラインのときはローカルストレージを使用したいと思います(ご存知のとおり、完璧なアプリです)。ドキュメントはまだ見つかりません。
Backbone.localStorageはこれの一部ですか?誰かがこのシナリオを構築できましたか?これはどのように行われますか? (自分でロールする必要がないことを教えてください。)
ありがとう。
Backbone.localStorageは、Backbone.Syncを上書きするために使用できる外部ファイルです。
ユーザーがオフラインかオンラインかについて単純な機能検出を使用し、オフラインの場合は非同期にBackbone.localStorage.jsをロードできます。
必要に応じて、Backbone.sync
の特定のバージョンをモデルやコレクションに渡すこともできます。
両方を同時に実行する場合は、サーバーを呼び出し、localStorageを呼び出す独自のバージョンのBackbone.syncを作成する必要があります。
これを行う最も簡単な方法は、
Backbone.sync = function() {
originalSync.apply(this, arguments);
localStorageSync.apply(this, arguments);
}
編集:
コメントで述べたように、最新のバックボーン localStorageプラグイン を使用すると、次のことができます
Backbone.sync = function Sync() {
Backbone.ajaxSync.apply(this, arguments);
return Backbone.localSync.apply(this, arguments);
};