您可以使用命名插座并将模板渲染到插座中,在我的应用程序模板中,我有一个名为 modal 的插座,以及 ApplicationRoute 中的两个操作,openModal 和 closeModal。open 接收模板名称并使用 route 方法 render 设置出口内容,close 渲染一个空模板。
App.ApplicationRoute = Ember.Route.extend({
actions: {
openModal: function(modal) {
this.render(modal, {into:'application', outlet: 'modal'});
},
closeModal: function() {
this.render('empty', {into: 'application', outlet: 'modal'});
},
}
});
Html 把手
<script type="text/x-handlebars" data-template-name="application">
{{! Other application template code}}
<button {{action openModal 'hellow.modal'}}>Open it!</button>
{{outlet modal}}
</script>
<script type="text/x-handlebars" data-template-name="empty"></script>
<script type="text/x-handlebars" data-template-name="hellow/modal">
<div class="modal">
<div class="modal-header">
Hellow
</div>
<div class="modal-footer">
<button {{action closeModal}}>Close</button>
</div>
</div>
</script>
本文改编自http://nerdyworm.com/blog/2013/04/20/ember-modal-example/