Javascript 在route.render()调用(或其他调用)中自定义余烬视图

Javascript 在route.render()调用(或其他调用)中自定义余烬视图,javascript,twitter-bootstrap,view,ember.js,single-page-application,Javascript,Twitter Bootstrap,View,Ember.js,Single Page Application,我正在尝试创建一个通用模式对话框视图,我可以从应用程序中的任何控制器调用它。我已经有了这样的工作: App.ModalManaging=Ember.Mixin.create{ 行动:{ OpenModel:函数modalName、模型、回调{ 这是我的名字 .setmodel,model; 这个.setmodal{ 回调:回调, 姓名:modalName }; 这是我的名字{ 分为:应用程序, 出口:莫代尔, 控制器:应用程序, 视图:模态 }; } //…其他东西 }; 因此,对于每个模态,我

我正在尝试创建一个通用模式对话框视图,我可以从应用程序中的任何控制器调用它。我已经有了这样的工作:

App.ModalManaging=Ember.Mixin.create{ 行动:{ OpenModel:函数modalName、模型、回调{ 这是我的名字 .setmodel,model; 这个.setmodal{ 回调:回调, 姓名:modalName }; 这是我的名字{ 分为:应用程序, 出口:莫代尔, 控制器:应用程序, 视图:模态 }; } //…其他东西 }; 因此,对于每个模态,我创建一个单独的控制器类,并将提供的对象设置为其模型。然后,我使用render方法将模态视图/控制器/模板渲染到主布局中的“模态”套接字中。模态收集用户动作并向调用控制器提供响应的方式超出了这个问题的范围。只需说明,那部分有效

这部分也可以,但我不喜欢。每个模式的控制器似乎有些过分。我所需要的只是一个带有一些属性的视图,它可以直接与应用程序路由通信

所以在过去的几个小时里,我一直在尝试以某种方式自定义渲染方法使用的视图对象

这不起作用:

这是我的名字{ 分为:应用程序, 出口:莫代尔, 控制器:应用程序, 查看:新建App.ModalView{ 留言:你确定吗? } }; 我正在查看灰烬的来源,似乎也没有类似的东西:

这是我的名字{ 分为:应用程序, 出口:莫代尔, 控制器:应用程序, 视图:模态, 视图哈希:{ 留言:你确定吗? } }; 基本上,我需要{{view}}助手的编程等价物,包括提供我自己的散列的能力

我想我可以使用一个固定的ContainerView,而不是空的出口,并对其进行操作,但作为模态控制器,这似乎很笨拙


任何关于如何实现此功能或类似功能的想法都将不胜感激。

更新:使用专用路由器实现此功能的方法。\u lookupActiveView方法

var modalView=App.modalView.create{ templateName:modalName, 留言:你确定吗? }; 此.router.\u lookupactiveview应用程序 .connectOutletmodal,modalView; 这似乎是可行的,但我不确定使用私有方法是否比使用controller->model和ContainerView的笨拙解决方案更好


仍然在寻找一个可靠的、规范的解决方案。

我在这里的余烬讨论列表中也问了一个几乎相同的问题:@AndrewHacking谢谢你的通知。我会留意的。