1

このデモをまとめました

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

現時点では、トップリンクの「製品jsonpull」のみが機能します。クリックすると、新しいページ(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
}
});

推奨事項に基づいています。

私はrequire.jsを使用してアプリをまとめています。これは、requireによってインスタンス化される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();
});

ありがとうダン

4

2 に答える 2

2

実現したい動作に応じて、次の 2 つのことを行うことができます。

ルーティングを初期化する前にハッシュをリセットします。

location.hash = ''
var router=new Router();
Backbone.history.start();

ルーティングを初期化した後、そのハッシュ タグに移動できます。

var router=new Router();
Backbone.history.start();
router.navigate(location.hash, true)
于 2012-11-14T20:19:58.340 に答える