我希望能够嵌套路由,但我似乎无法找到使用骨干路由器的方法。理想情况下,我想要像:
var AppRouter = Backbone.Router.extend({
routes: {
"campaigns/:campaignId": "showCampaign",
"campaigns/:campaignId/article/:articleId": "jumpToArticle"
},
showCampaign: function(campaignId){
// setup Campaign state, render some content or something
},
jumpToArticle: function(articleId) {
// scroll to article
}
});
我希望#/ campaigns / 45触发showCampaign,但是从那里导航到说#/ campaigns / 45 / article / 3只会触发jumpToArticle。 Backbone或支持库中有什么支持这个吗?
答案 0 :(得分:1)
Backbone.Router始终触发单个匹配路由。据我所知,只有Ember.js会触发串联的嵌套路由。
作为Backbone解决方案,Backbone.RouteManager可能会帮助您实现类似的功能(使用过滤器而不是触发嵌套路由)。
但如果您真的在寻找与Ember相同的东西,那么只需使用他们的独立路由器模块代替Backbone.Router。 https://github.com/tildeio/router.js