2016-09-26 5 views
0

私の最初のバックボーンプロジェクトをやっています。私はバックボーン1.3.3とアンダースコア1.8.3を使用しています。私はルータに問題があります。私はルータを起動すると、それはURLの最後にハッシュタグを配置しますバックボーン - URLの最後に表示されるハッシュタグ

http://server:9999/backbone_demo/addMember# 

の代わり:

http://server:9999/backbone_demo/#addMember 

私が欲しいものです。私は(e.detail.routeで)私のナビゲート機能に "addMember" を渡すと

var router = null; 
var context = "backbone_demo"; 

DemoRouter = Backbone.Router.extend({ 

    initialize: function() { 
     initializeEventsForNavigation(); 
    }, 
    routes: {"" : "start", "/bands": "bands", "/addMember": "addMember", "*defaultRoute" : "defaultRoute"}, 

    defaultRoute: function() { 
     this.start(); 
    }, 
    start: function() { 
     this.bands(); 
    }, 
    bands: function() { 
     BackboneDemo.View.unrenderAllViews(); 
     BackboneDemo.View.renderBandList(); 
    }, 
    addMember: function() { 
     BackboneDemo.View.unrenderAllViews(); 
     BackboneDemo.View.renderAddMember(); 
    } 


}); 

var init = function() { 
    initializeEventsForBandListRender(); 
    initializeEventsForAddMemberRender(); 
    router = new DemoRouter(); 
    Backbone.history.start({pushState: true, root: context}); 

}; 

var navigate = function(e) { 
    var route = e.detail.route; 
    router.navigate("/" + route, true); 
}; 

、私はrouter.navigateに "/ addMember" を渡します。ルータはこの詳細を除いて正常に動作します。

答えて

1

ハッシュルーティングを使用する場合は、pushStatefalseに設定する必要があります。

Backbone.history.start({pushState: false, root: context}); 
+0

試しました。これは私のルータを壊した。すべてのルートはhttp:// server:9999/backbone_demo /# – badgerduke

+0

に行きます。ナビゲーションイベントを呼び出すCustomEventに問題があります。 – badgerduke

+0

さて、私のイベント処理は私を台無しにしていた。今働いて! – badgerduke

関連する問題