【发布时间】:2012-08-17 16:03:13
【问题描述】:
我有一个使用 Backbone 0.5.3 的工作应用程序,它不再使用骨干网 0.9.2 工作。
我发现 Router.navigate() 出于某种原因没有调用我的路由。
这是我的路由器:
var Router = Backbone.Router.extend({
routes: {
'/mypage': 'mypage',
},
mypage: function() {
// show page ...
}
});
像这样手动调用路由可以正常工作:
Router.mypage()
我还尝试覆盖主干的 .navigate 方法来调试我的应用程序...
var Router = Backbone.Router.extend({
routes: {
'/mypage': 'mypage',
},
navigate: function(fragment, options) {
console.log("navigate called");
Backbone.history.navigate(fragment, options);
},
mypage: function() {
// show page ...
}
});
...似乎调用了 .navigate 但是...
Backbone.history.navigate(fragment, options);
...只是不调用路由。
我正在使用 PushState,这是我的初始调用:
Backbone.history.start({
root: '/',
pushState: true,
silent: true
});
已经在没有root和silent参数的情况下尝试过——没有成功。
再次重申:这适用于 Backbone 0.5.3。
感谢大家的回复!
阿奇姆
【问题讨论】:
标签: javascript backbone.js backbone-routing