我正在构建一个只读骨干应用程序,其中包含数据(源自单个静态json文件),该数据遵循排序的建筑/校园结构。那就是:
[{
"name": "Building Name",
"id": "building",
"floors":[{
"name":"Ground Floor",
"rooms":[{
"name": "Room 1"
},
{
"name": "Room 2"
}]
},
{
"name":"First Floor",
"rooms":[{
"name": "Room 3"
},
{
"name": "Room 4"
}]
}]
},
{
"name": "Another Building",
"id": "building_2",
"floors":[{
"name":"Ground Floor",
"rooms":[{
}]
},
{
"name":"First Floor",
"rooms":[{
}]
}]
}]
我目前有一个基本的应用程序设置,显示默认路线上每个建筑物的建筑物和楼层列表。
我想使用路由器,以便APP /#buildingId /显示带有'buildingId'的建筑物的楼层列表,APP /#buildingId /#floorId显示相关的房间列表等。
我当前代码的JSBIN(没有data.json) - http://jsbin.com/welcome/5850/edit
许多代码可能已经过时,但我尝试了不同的方法来构建模型/集合。这个应用程序永远不会超过只读,这就是我使用静态文件的原因。
类似问题:How to use JSON to power interactive Backbone.js app
所提出的解决方案根本不使用路由器。
答案 0 :(得分:1)
这是你要求的吗?:
// code simplified and no tested
App.Router = Backbone.Router.extend({
routes: {
"/APP/:buildingId/:floorId": "showRooms",
"/APP/:buildingId": "showFloors"
},
showRooms: function( buildingId, floorId ) {
// code to show the rooms
},
showFloors: function( buildingId ) {
// code to show the floors
},
});
或者我错过了什么?