骨干路由不能刷新

Dan*_*Dan 1 backbone.js underscore.js

我把这个演示放在了一起

http://demo.stg.brightonconsulting.net.au/templates/tests/backboneJQMProducts/

目前只有顶级链接'产品json pull'有效.如果你点击它,你将被带到一个新的页面(http://demo.stg.brightonconsulting.net.au/templates/tests/backboneJQMProducts/index.html#products/productList)

到这个页面的路由工作正常,但是当你刷新页面时,它没有显示该页面只显示一个空白页面?(它刷新好了 - 做一个cntr + f5,你会看到)

有没有人有此之前/有谁知道修复是什么?

我试过编辑这段代码

define(['jquery','underscore', 'backbone','router'],
function($, _, Backbone,Router) {

var init=function(){
    //create backbone router
    //location.hash = '';
    var router=new Router();
    Backbone.history.start();
};

return{
    initialize:init
}
});
Run Code Online (Sandbox Code Playgroud)

基于recomendations.

我使用require.js将应用程序放在一起,这是从main实现的main.js调用的

require.config({

paths: {
    jquery:     'vendor/jqm/jquery_1.7_min',
    jqm:     'vendor/jqm/jquery.mobile-1.1.0', 
    underscore: 'vendor/underscore/underscore_amd',
    backbone:   'vendor/backbone/backbone_amd',
    text:       'vendor/require/text',
    plugin:    'plugin',
    templates:  '../templates',
    views:    '../views',
    models:       '../models'
}

});


define(['app','jqm-config'], function(app) {
$(document).ready(function() {
  console.log("DOM IS READY");// Handler for .ready() called.
});    
app.initialize();
});
Run Code Online (Sandbox Code Playgroud)

谢谢丹

小智 6

在使用RequireJS设置BackboneJS之后,我刚刚遇到过类似的问题.

Backbone.history.start()在路由器代码里面打电话; 为了解决这个问题,我把这个调用移到了我在main require()函数中实例化我的视图之后.

希望能帮助别人.