Javascript 具有无限可选参数的主干路由

Javascript 具有无限可选参数的主干路由,javascript,html,backbone.js,backbone-routing,Javascript,Html,Backbone.js,Backbone Routing,在我的应用程序中,我有两个重要的模型:ContentCollection和ContentItem 每个ContentCollection都有许多ContentCollections和ContentItems。您可以将ContentCollections视为文件夹,将ContentItems视为文件。因此,这种结构需要成为可能: - ContentCollection \- ContentCollection \- ContentCollection \- C

在我的应用程序中,我有两个重要的模型:ContentCollection和ContentItem

每个ContentCollection都有许多ContentCollections和ContentItems。您可以将ContentCollections视为文件夹,将ContentItems视为文件。因此,这种结构需要成为可能:

-  ContentCollection
   \- ContentCollection
      \- ContentCollection
         \- ContentCollection
            \- Item
            \- Item
      \- ContentCollection
         \- Item
-  ContentCollection
   \- Item
   \- Item
-  Item
-  Item
我想为ContentCollections和ContentItems创建显示路由

/home/collections/{id}
而且

/home/items/{id}
/home/collections/{id}/collections/{id}/collections/{id}
/home/collections/{id}/collections/{id}/collections/{id}/items/{id}
而且

/home/items/{id}
/home/collections/{id}/collections/{id}/collections/{id}
/home/collections/{id}/collections/{id}/collections/{id}/items/{id}
而且

/home/items/{id}
/home/collections/{id}/collections/{id}/collections/{id}
/home/collections/{id}/collections/{id}/collections/{id}/items/{id}
等等


有没有一种简单的方法可以让我优雅地处理主干路线中的这种嵌套

你需要一条通吃的路线,它匹配任何东西

var MyRouter = Backbone.Router.extend({
  '*collection': 'showCollection'
});
然后在您的操作中进行一点分析:

Controller = {
  showCollection: function (query) {
    segments = query.split('/')
  }
}

你需要一条通吃的路线,它匹配任何东西

var MyRouter = Backbone.Router.extend({
  '*collection': 'showCollection'
});
然后在您的操作中进行一点分析:

Controller = {
  showCollection: function (query) {
    segments = query.split('/')
  }
}

你需要一条通吃的路线,它匹配任何东西

var MyRouter = Backbone.Router.extend({
  '*collection': 'showCollection'
});
然后在您的操作中进行一点分析:

Controller = {
  showCollection: function (query) {
    segments = query.split('/')
  }
}

你需要一条通吃的路线,它匹配任何东西

var MyRouter = Backbone.Router.extend({
  '*collection': 'showCollection'
});
然后在您的操作中进行一点分析:

Controller = {
  showCollection: function (query) {
    segments = query.split('/')
  }
}