无法弄清楚我的主干路由器出了什么问题。任何人都可以发现以下代码块中的错误吗?索引路由工作正常,但类路由从未触发(例如,当我导航到像 localhost/classes/test
这样的 URL 时)
var app = app || {};
$(function() {
app.Router = Backbone.Router.extend({
routes: {
'' : 'index',
'classes/:id' : 'classes'
},
initialize: function() {
this.classList = new app.ClassCollection();
},
index: function() {
this.menuView = new app.ClassCollectionView({collection: this.classList});
},
classes: function(id) {
console.log("hello")
var _class = new app.ClassModel({id: id});
this.classView = new app.ClassPageView({model: _class});
}
});
router = new app.Router();
Backbone.history.start({pushState: true});
})
如果一切看起来都正常,那么我的代码中其他地方可能存在错误。
最佳答案
Backbone.router 正在扩展 hashbang 导航。 所以 本地主机/#classes/测试
应该会导致你的方法。还!注意,空路由应该位于路由列表的末尾。 就像 else if 构造一样,如果路由匹配“”(默认 # ?!),它将永远不会匹配其他路由
关于javascript - 设置 Backbone 路由器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18567331/