私はローカルのBackbone.jsアプリケーションを実行しており、データという名前のローカルフォルダを使用して初期データを配置しています。そして、私のBackbone.routerに、私は次のように初期データを取得するために、AJAXを使用して次のようにBackbone.jsアプリでローカルデータの変更を保存する方法は?
p = $.ajax({
url: 'data/todolist.json',
dataType: 'json',
data: {},
success: function(data) {
var approuter = new AppRouter({data: data});
Backbone.history.start();
}
})
そして、私のAppRouter
でinitialize
方法は次のとおりです。私のアプリで
initialize: function(options){
this._data = options.data;
this._todos = new TodosCollection(options.data);
this._length = this._todos.length;
this._index = new CategoriesView({collection: this._todos});
},
、毎回I私のBackbone.Viewでアイテムを作成、削除、更新するには、this.model.destroy()
,this.collection.add()
またはthis.model.set()
を使用してモデルとコレクションを更新します。しかし、それは私の初期のデータに上記の変更を保存していないようです。これは上記の 'todolist.json'です。私はページ全体を更新すると、アプリはまだ初期のデータを表示します。私がしたいことは、私のビューでいくつかの変更が起こるたびにデータファイルが更新されるということです。だから私はこれをどのように達成すべきですか?
もう1つ質問:これらのデータを保持するためにlocalStorageを使用したいのですが?私のルーターでajaxコールを使用する必要はありませんか?私はちょうどルータのinitialize
メソッドでBackbone.Collection.fetch()
メソッドを使用します。アプリケーションが開始された後、this.model.destroy()
,this.collection.add()
またはthis.model.set()
を使用するたびにlocalStorageによってデータが自動的に更新されますか?