나는 아주 기본적인 것을 놓치고 있다고 확신한다. 나는 '기본값'속성이 포함 된 모델을 기반으로 가져온 객체Backbone.js 내 기본 모델이 가져온 컬렉션에있는 이유는 무엇입니까?
collection.fetch({reset: true})
의 컬렉션을 설정하고있다.
그러나 콘솔에서 가져온 컬렉션을 볼 때 기본 속성으로 설정된 추가 모델이 있습니다. 왜 이런 일이 일어나는 걸까요? 더 중요한 것은 어떻게 그것을 막을 수 있습니까? 여기
var diningApp = diningApp || {};
(function(){
"use strict";
diningApp.MenuItem = Backbone.Model.extend({
defaults: {
service_unit: null,
course: null,
formal_name: null,
meal: null,
portion_size: null,
service_unit_id: null
}
});
var MenuCollection = Backbone.Collection.extend({
model: diningApp.MenuItem,
url: '/api/dining/get_menus',
parse: function(response){
return response.menu_items;
}
});
diningApp.menuCollection = new MenuCollection();
diningApp.menuCollection.fetch({reset: true});
})();
은 서버에서 JSON 응답의 일부입니다 :
{
"status": "ok",
"menu_items": [
{
"service_unit": "Faculty House",
"course": "Entrees",
"formal_name": "Local CF Fried Eggs GF",
"meal": "BREAKFAST",
"portion_size": "1 Egg",
"service_unit_id": 0
},
{
"service_unit": "Faculty House",
"course": "Entrees",
"formal_name": "CageFree Scrambled Eggs GF",
"meal": "BREAKFAST",
"portion_size": "2 eggs",
"service_unit_id": 0
}]
}
을 그리고 여기에 콘솔의 결과 모음입니다 :
을 청소하기
parse
방법을 제거하려면 서버 응답을 수정 무엇'/ API에서 JSON을한다/dining/get_menus'는 (는) 어떻게 생겼습니까? –JSON 응답을 포함하도록 수정되었습니다. – lancemonotone
@lancemonotone http://jsfiddle.net/nikoshr/cjd7syoh/ 제공된 샘플 데이터와 함께 작동하는 것 같습니다. 전체 JSON 어딘가에 정의되지 않은/빈/null 요소가 있습니까? http://jsfiddle.net/nikoshr/cjd7syoh/1/ – nikoshr