Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript BackboneJs浏览器刷新应加载同一页面_Javascript_Jquery_Backbone.js_Backbone Routing - Fatal编程技术网

Javascript 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' :

我是backboneJs的新手

当前,当我刷新浏览器时,它会将我带回登录页面

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);
}"*