我有一个单页面的应用程序。数据由节点服务器提供; front用javascript编码。最初我的整个网站都有一个独特的网址(尽管事实上我有很多屏幕,每个屏幕都是在预定义的div中用js生成的)。但是我被要求为每个屏幕生成一个URL,所以我决定使用Backbone(最新版本)路由器来实现(实现可以在下面找到)。
事实是,自从我实施此路由器后,有时会:
一般情况下,新刷新后效果会更好,但并非总是如此。
有关这种情况发生原因的任何想法吗?
var BaseRouter = Backbone.Router.extend({
language : undefined,
routes: {
'' : 'home',
... // All my routes
},
_bindRoutes: function() {
var me = this;
if (this.language) {
_.each(_.keys(this.routes), function(key) {
me.routes[me.language + '/' + key] = me.routes[key];
delete me.routes[key];
});
}
// Call native _bindRoutes method.
Backbone.Router.prototype._bindRoutes.apply(this, arguments);
},
home: function () {
navservice.loadScreen({page : 'home'});
},
... // all routes implementations
});
var EnglishRouter = BaseRouter.extend({
language: 'en'
});
new BaseRouter();
new EnglishRouter();
Backbone.history.start();