Возврат истории магистрали с молчанием = истина

Я хочу вернуться к истории на один шаг, не запуская историю назад. Теперь я могу заменить текущий URL на router.navigate('#user', {trigger:false, replace: true}. Есть ли способ вернуть историю в Backbone без запуска события возврата? Я могу использовать history.back(), но он запускает это событие (которое заставляет Backbone переходить по этому URL-адресу).


person Ikrom    schedule 25.03.2014    source источник


Ответы (1)


Я не нашел хорошего решения этой проблемы. Но есть один немного грязный:

var silentBack = function(){
  Backbone.history.stop();
  window.history.back();
  _.defer(function(){Backbone.history.start({silent: true});});
}
person Dmytro Yarmak    schedule 25.03.2014
comment
Спасибо, это работает. Но я не уверен, что смогу использовать его в рабочем коде, потому что Disable Backbone.history, perhaps temporarily. Not useful in a real app, but possibly useful for unit testing Routers. написано в backbone.js о методе stop. - person Ikrom; 25.03.2014