【发布时间】:2013-06-16 21:45:34
【问题描述】:
我的应用程序模板中有一个命名的插座,我仅用于模态(弹出)视图。默认情况下,我希望这是一个空的、未使用的插座,因为我的路线中只有大约 5% 会涉及模态显示。对于那些特定的模态路线,我从深层嵌套的子路线中插入模态模板,例如
App.NeeplyNestedModalChildRoute = Ember.Route.extend({
renderTemplate: function() {
this.render({
into: 'application',
outlet: 'modal'
});
}
});
我遇到的问题是,我希望“关闭模态框”涉及过渡到不同的、非模态的、嵌套较浅的路线。我已成功过渡到正确的路线,但我不知道如何清除模态出口。如何强制模式出口清除所有非模式路线?
【问题讨论】:
-
遇到了一种解决方案,即创建一个“空”模板并将其渲染到所有非模态路线上的模态出口中。这似乎有效,但感觉就像一个真正的黑客。还将涉及“清空”所有非模式路线的模式出口。 (而且有很多。)
-
我想这是一个可行的解决方案,但是有没有一种干净的方法可以让插入“空”模板成为所有非模式路线的默认行为?
-
看起来“清算”网点有一个未解决的问题:github.com/emberjs/ember.js/issues/2002
-
我明白了,我想既然这个问题被标记为改进,你最好坚持你的实际解决方案......对不起,我无能为力:/
标签: ember.js modal-dialog ember-router outlet