我正在尝试通过应用程序路由呈现我的所有模式,但是在我关闭模式后,我无法找出返回到先前状态的正确方法。
这是基本设置:
我的应用程序模板中有一个插座,用于显示模式对话框。
它看起来像:
{{ outlet modal }}
在我的路线映射中,我为单个模态定义了钩子。例如,我的帮助对话框弹出:
App.HelpRoute = Ember.Route.extend({
renderTemplate: function(controller, model) {
this.render({ outlet: 'modal' });
}
});
现在,我可以通过 uri 显示我的模态:
foo.com/#/help
我有一个使用 jQuery 解除模式的钩子:
$('#modalHelpWindow').modal('hide');
但这并没有真正的帮助,因为我只是隐藏了元素。我需要在解雇时更新 URI。如果我再次点击相同的路线,则模式已经隐藏,并且不会显示。
我应该使用什么方法来关闭模式,并将应用程序路由回之前的状态?我应该只使用 history.back() 吗?
请注意,我知道这个 SO 问题,但解决方案不是首选的“ember”做事方式,因为以编程方式创建的视图不会正确关联其控制器 使用 Ember 路由器 v2 进入和退出模态状态的正确方法是什么?