Javascript BackboneJs浏览器刷新应加载同一页面
我是backboneJs的新手 当前,当我刷新浏览器时,它会将我带回登录页面Javascript BackboneJs浏览器刷新应加载同一页面,javascript,jquery,backbone.js,backbone-routing,Javascript,Jquery,Backbone.js,Backbone Routing,我是backboneJs的新手 当前,当我刷新浏览器时,它会将我带回登录页面 var AppRouter = Backbone.Router.extend({ routes : { // Pages 'startup' : 'LoginScreen', 'Home' : 'HomeScreen', 'AssetDetail':'AssetScreen', '*actions' :
var AppRouter = Backbone.Router.extend({
routes : {
// Pages
'startup' : 'LoginScreen',
'Home' : 'HomeScreen',
'AssetDetail':'AssetScreen',
'*actions' : 'LoginScreen'
},
...
});
var initialize = function(options) {
var appView = options.appView;
var router = new AppRouter(options);
router.on('route:LoginScreen', function(actions) {
require([ 'login/LoginView' ], function(StartView) {
console.log(" --route login");
var startView = new StartView();
});
});
router.on('route:HomeScreen', function(actions) {
require([ 'home/HomeView' ], function(HomeScreenView) {
console.log(" --route home");
var homeScreenView = new HomeScreenView();
});
});
router.on('route:AssetDetailScreen', function(actions) {
require([ 'views/AssetDetailView' ], function(AssetDetailScreenView) {
var assetdetailScreenView = new AssetDetailScreenView();
});
});
Backbone.history.start({pushState: true});
})
假设我的当前url是,当我刷新浏览器时(F5可能是),我想加载相同的页面
我该怎么做?帮帮我 不是我最初写这个答案,但我认为这是最好的解决方案 *“您可以调用Backbone.history.loadUrl。 要刷新当前页面,请执行以下操作:
*`Backbone.history.loadUrl(Backbone.history.fragment);`*
或作为链接处理程序:
//Backbone.history.navigate
对所有路由器都足够,并将触发
//正确的事件。路由器的内部导航方法无论如何都会调用它
var ret = Backbone.history.navigate(href, true);
//通常,当尝试加载相同的URL时,主干网的历史记录/路由器将不起任何作用。
//但既然我们想让它重新发射同一条路线,我们就可以探测到
//当Backbone.history.navigate什么也不做时,强制执行路线
if (ret === undefined) {
Backbone.history.loadUrl(href);
}"*