로컬 Backbone.js 앱을 사용하고 데이터라는 로컬 폴더를 사용하여 초기 데이터를 저장합니다. 다음과 같이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
방법입니다 : 그리고 내 Backbone.router에, 나는 다음과 같이 초기 데이터를 얻기 위해 아약스 사용하여 내 응용 프로그램에서
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});
},
, 때마다 나는 내 Backbone.View에서 항목을 생성, 삭제 및 업데이트하려면 모델 및 컬렉션을 업데이트하려면 this.model.destroy()
, this.collection.add()
또는 this.model.set()
을 사용합니다. 그러나 그것은 위의 'todolist.json'인 초기 데이터에 이러한 변경 사항을 저장하지 않는 것으로 보입니다. 전체 페이지를 새로 고치면 앱에 초기 데이터가 계속 표시됩니다. 내가하고 싶은 일은 내 뷰에서 몇 가지 변경 사항이 발생할 때마다 데이터 파일이 업데이트된다는 것입니다. 그럼 어떻게해야합니까?
한 가지 더 질문 : localStorage를 사용하여 이러한 데이터를 유지하려면 어떻게해야합니까? 라우터에서 ajax 호출을 사용할 필요가 없습니까? 방금 라우터의 initialize
메서드에서 Backbone.Collection.fetch()
메서드를 사용하면 응용 프로그램이 시작된 후 localstorage가 this.model.destroy()
, this.collection.add()
또는 this.model.set()
을 사용할 때마다 자동으로 데이터가 업데이트됩니다.