Backbone история обратно с безшумен = вярно

Искам да върна историята една стъпка назад, без да задействам историята назад. Сега мога да заменя текущия 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