나는 백본에서 OOTB 동기화 및 RESTful 기능을 많이 사용하려고합니다. 내 모델에 기본 CRUD를위한 웹 API를 설정했습니다. 내가 가진 : 모든 검색Backbone.js 계단식 모음 및 동기화?
var SearchModel = Backbone.Model.extend({});
var SearchMappingModel = Backbone.Model.extend({});
var SearchComponentModel = Backbone.Model.extend({});
var SearchCollection = Backbone.Collection.extend({});
var SearchMappingCollection = Backbone.Collection.extend({});
var SearchComponentCollection = Backbone.Collection.extend({});
1 일대 SearchMappings이, 모든 SearchMapping를 들어, 1 대 다수 SearchComponents이있다. 동기화를위한 내 URL은 검색 콜렉션의 경우 "/ search", SearchMapping 콜렉션의 경우 "/ searchmapping/'+ searchId", SearchComponent 콜렉션의 경우 "/ searchcomponent /'+ mappingId"와 같습니다.
제 질문은 각 컬렉션이 이전 코드에 종속되어 있기 때문에 백본에서 계단식 관계를 만들어 내 코드를 최소화하고 이미있는 기본 동기화 기능을 많이 사용할 수있는 방법이 있습니까?
내 초기 생각은 컬렉션 내에서 컬렉션을 만들고 내 .fetch()를 먼저 작성하여 상위 컬렉션을 가져온 다음 성공한 다음 하위를 가져 와서 자체 성공 후 자식을 가져 오는 것입니다. like :
var SearchCollection = Backbone.Collection.extend({
model: SearchModel,
initialize: function (data) {
this.url = baseURL + "/search";
this.data = data;
this.SearchMappingCollection = new SearchMappingCollection();
},
fetchData: function() {
this.fetch({
success: _.bind(function (results) {
this.fetchListSuccess(results);
}, this)
});
},
fetchListSuccess: function (results) {
this.SearchMappingCollection.fetchData(results);
}
.save()에서도 마찬가지입니다. 이것은 좋은 방법 일 수 있지만 비슷한 일을 한 다른 사람으로부터 피드백을 받고 싶었습니다.