0

我正在构建一个只读主干应用程序,其数据(来自单个静态 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

提出的解决方案根本不使用路由器。

4

1 回答 1

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
  },

});

还是我错过了什么?

于 2012-07-29T20:08:36.183 回答