我確定我錯過了一些非常基本的東西。我設置了基於包含一個「默認」屬性的模型獲取對象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
}]
}
下面是在控制檯的結果集合:
什麼的'/ API做的JSON/dining/get_menus'看起來像? – 2014-09-29 21:07:46
編輯爲包含JSON響應。 – lancemonotone 2014-09-30 15:46:22
@lancemonotone它似乎與你給的示例數據一起工作http://jsfiddle.net/nikoshr/cjd7syoh/在完整的JSON中的某處有一個未定義/空/空元素? http://jsfiddle.net/nikoshr/cjd7syoh/1/ – nikoshr 2014-09-30 16:55:54