1
我有一个关于骨干路由器的问题,请帮助:骨干路由器刷新
我有一个路由器:
define(['views/index', 'views/login'], function(indexView, loginView) {
var SelinkRouter = Backbone.Router.extend({
currentView: null,
routes: {
'home': 'home',
'login': 'login'
},
changeView: function(view) {
if(null != this.currentView)
this.currentView.undelegateEvents();
this.currentView = view;
this.currentView.render();
},
home: function() {
this.changeView(indexView);
},
login: function() {
this.changeView(loginView);
}
});
return new SelinkRouter();
});
当用户来到我的网站首次“登陆”路由被触发,并将它们带到登录页面,登录后,用户通过window.location.hash =“home”导航到“home”路由。现在用户看到主页的url看起来像:mysite.com/#home,这很好。
问题是,在这一点上,如果我点击F5键或以其他方式刷新页面,虽然“主页”路线被再次触发(这很好),同时整个页面被重新加载, js再次被重新加载。所以应用程序重新启动,它带我回到登录页面(太糟糕了)。
有没有人有同样的问题?我应该停止页面刷新吗?怎么样?
非常感谢您的任何想法。
感谢征求建议。 Indeer,我正在考虑同样的事情。但我仍然想知道为什么会出现意想不到的事情。并且我想要做一个“平滑的”登录效果,而不用页面跳转。 – 2013-04-24 01:00:53