我在 Backbone 中有一个带有外部 JSON 的应用程序,如下所示:
[
{
"id" : "r1",
"hotel_id" : "1",
"name" : "Singola",
"level" : "1"
},
{
"id" : "r1_1",
"hotel_id" : "1",
"name" : "Doppia",
"level" : "2"
},
{
"id" : "r1_3",
"hotel_id" : "1",
"name" : "Doppia Uso singol",
"level" : "1"
},
{
"id" : "r2",
"hotel_id" : "2",
"name" : "Singola",
"level" : "1"
},
{
"id" : "r2_1",
"hotel_id" : "2",
"name" : "Tripla",
"level" : "1"
}
]
我想在 groupBy 之后通过 hotel_id 解析和获取它,并创建一个按级别分组的数组。
我试过这个,但我有空数组:
var Room = Backbone.Model.extend();
var Rooms = Backbone.Collection.extend({
model:Room,
url : "includes/rooms.json"
});
var RoomView = Backbone.View.extend({
initialize: function(){
allRooms = new Rooms();
allRooms.on("sync", this.render, this)
allRooms.fetch();
},
render: function(){
var rooms = _.groupBy(allRooms.models,'hotel_id');
for (var hotelid in rooms)
rooms[hotelid] = _.groupBy(rooms[hotelid], "level");
}
});
如果我追踪它,返回我一个空房间数组