Недавно я хотел, чтобы некоторые маршруты в моем приложении emberjs не отображались в истории браузера и пытались использовать функциональность replaceRoute, которая была введена в RC1. К сожалению, это не имеет никакого значения, если я использую transitionToRoute или replaceRoute. Предположим, у меня есть 3 страницы, и я хочу, чтобы страница 1 была пропущена при возвращении в историю.replaceRoute не работает должным образом?
App = Ember.Application.create({});
App.ApplicationRoute = Ember.Route.extend({
events: {goBack:function(){window.history.back();}}
});
App.Page1Controller = Ember.Controller.extend({
goToPage2: function(){
this.replaceRoute("page2")
}
});
App.Router.map(function() {
this.route("page1");
this.route("page2");
this.route("page3");
});
Я сделал немного JSFiddle пример для тестирования http://jsfiddle.net/ripcurlx/Qmnrj/3/
Могу ли я с помощью replaceRoute совершенно неправильно, или есть лучшее решение, чтобы предотвратить некоторые маршруты не должны быть включены в историю браузера? Спасибо за любые подсказки!
Похоже, что это работает, только если вы используете местоположение: «история» вместо местоположения: «хэш». Я посмотрю, смогу ли я каким-либо образом реализовать его для Ember.HashLocation. – ripcurlx