2013-07-29 210 views
2

我有一個非常簡單的路由。當我第一次點擊我的< a href =「#content_ft」>時,匹配(ft)的路由函數將被調用。但是這裏出現了這個問題,我第二次點擊<,路由功能(ft)不能被調用。骨幹路由不能叫

我認爲這是因爲瀏覽器中的網址仍然是*「www.mysite.com/index.html#content_ft」*,骨幹認爲我沒有訪問一個新的錨點,所以路由將無法工作。但我需要的是刷新頁面的效果。我需要路由功能ft可以在單擊< a href =「#content_ft」>時調用,即使url不會更改。

任何幫助表示讚賞!

這裏是我的路由器:

app.HomeRouter = Backbone.Router.extend({  

    routes : {   
     "content_ft" : "ft", 
     "content_view_diag" : "view_diag", 
    }, 

    ft : function() {   
      //do something()  
    }, 

    view_diag : function(){ 
      //do something 
    },  

}); 

    app.router = new app.HomeRouter(); 
    Backbone.history.start(); 
+5

檢查這個http://stackoverflow.com/questions/8901574/how-to-refresh-a-page-in-a-backbone-application –

+0

嗯,恕我直言,你需要'app.HomeRouter =新幹線.Router.extend({'還有,你是否打電話創建路由器'Backbone.history.start();' – Sergey

+0

我有實例我的app.HomeRouter,我只是沒有寫在我的問題中,現在我要補充它。你可能不明白我的問題@謝爾蓋 –

回答

0

你可以嘗試設置一個偵聽的錨觸發下面看看會發生什麼?

app.navigate("content_ft", {trigger: true});