Javascript 我可以在Ember.js中将视图渲染到插座中吗?

Javascript 我可以在Ember.js中将视图渲染到插座中吗?,javascript,ember.js,Javascript,Ember.js,我试图在应用程序中显示一个模式对话框,并希望能够以编程方式将其呈现到页面。我的根模板如下所示 {{outlet}} {{outlet "modal"}} 然后当用户按下一个按钮时,一个控制器动作被触发,我希望能够调用 App.Modal.create().appendTo("modal"); 显然,这是行不通的,因为appendTo使用jquery选择器,但有人知道更好的方法吗 编辑: 我也可以只使用appendTo方法,但每次我都会收到一个不推荐使用

我试图在应用程序中显示一个模式对话框,并希望能够以编程方式将其呈现到页面。我的根模板如下所示

{{outlet}}
{{outlet "modal"}}
然后当用户按下一个按钮时,一个控制器动作被触发,我希望能够调用

App.Modal.create().appendTo("modal");
显然,这是行不通的,因为appendTo使用jquery选择器,但有人知道更好的方法吗

编辑:
我也可以只使用appendTo方法,但每次我都会收到一个不推荐使用的警告,不能附加到默认容器中。我使用了一个ContainerView并附加了它,然后更新了container视图,但没有任何效果。

不是通过控制器操作来处理按钮按下,而是让它冒泡到路由器。由于您的插座是在
application.hbs
中定义的,因此在
ApplicationRoute
中处理事件是有意义的。比如:

App.ApplicationRoute = Ember.Route.extend({
  events: {
    openModal: function() {
      this.render('modal', { into: 'application', outlet: 'modal' });
    }
  }
});

这将使您的模式视图/模板进入
应用程序的
模式
出口。

看看这个问题,它可能会帮助您从路由器以外的任何地方将
渲染到
?我正在考虑一个选项卡式的导航。如果容器视图可以呈现子对象,那就太好了。