サーバーからデータをキャッシュするために backbone-localstorage プラグインを使用しています。jquery ajax を使用して、サーバーからデータを手動で取得し、バックボーン コレクションに追加しています。ページが読み込まれるたびに、ローカル ストレージから既存のデータを削除し、サーバーから新しいデータを読み込みます。
私は次のコードを使用しています:
success : function(response){
var json = $.parseJSON(response);
var channelList = new NewsApp.channelCollection();
channelList.localStorage = new Backbone.LocalStorage("channellist");
channelList.fetch();
//Clear the current items from the localStorage so as not to exceed the localstorage limit
channelList.each(function(model) {
console.log("Channel Removed");
model.destroy();
} );
_.each(json.channel, function(channel){
channelList.create(channel);
});
console.log(channelList);
}
これは、初めて実行したときに正常に機能します。しかし、2 回目に実行すると、最後の実行のモデルの一部がまだコレクションに残っています。
これは、バックボーン localstorage からデータを挿入および削除するための適切な方法ですか?