当我转换到新路线时,有没有办法存储具有所有参数的先前状态?
浏览器back
按钮有点工作,所以我猜window.history.back()
而不是link-to
帮助对我有用,但我很好奇有没有任何Ember方式来保存状态并转换到它以后?
由于
答案 0 :(得分:1)
不确定,如果这种情况适合您,但我保存了以前的状态,然后在选项卡菜单中转换到该状态,该菜单需要保存每个特定菜单的状态。
App.MenuRoute = Em.Route.extend({
actions: {
willTransition: function(transition) {
var handlers = this.router.router.targetHandlerInfos;
var handler = handlers[handlers.length-1];
this.controller.set('lastHandler', handler);
},
selectMenu: function(value) {
var handler = this.controllerFor(value).get('lastHandler');
var routeName = (handler) ? handler.name : value;
var model;
if ( handler && handler.isDynamic ) {
model = handler.context;
}
if ( model ) {
this.transitionTo(routeName, model);
} else {
this.transitionTo(routeName);
}
}
}
}
});