2014-03-25 33 views
0

我希望在不觸發歷史記錄的情況下回退歷史。現在我可以用router.navigate('#user', {trigger:false, replace: true}替換當前的URL。有沒有辦法在Backbone中備份歷史記錄而不觸發回退事件?我可以使用history.back(),但它會觸發此事件(強制Backbone導航此URL)。Backbone history back with silent = true

回答

1

我還沒找到這個問題的好解決方案。但有一點點髒:

var silentBack = function(){ 
    Backbone.history.stop(); 
    window.history.back(); 
    _.defer(function(){Backbone.history.start({silent: true});}); 
} 
+0

謝謝,它的工作。但我不確定我可以在生產代碼中使用它,因爲'禁用Backbone.history,可能是暫時的。在真正的應用程序中沒有用處,但對單元測試路由器可能有用.'在backbone.js中寫入'stop'方法。 – Ikrom