我最近希望我的 emberjs 应用程序中的一些路由不显示在浏览器历史记录中,并尝试利用 RC1 中引入的 replaceRoute 功能。不幸的是,如果我使用transitionToRoute 或replaceRoute,它根本没有任何区别。假设我有 3 页,我希望在回顾历史时跳过第 1 页。
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 是完全错误的,还是有更好的解决方案来防止某些路由不包含在浏览器历史记录中?感谢您的任何提示!