如何为模态视图生成唯一的控制器

时间:2014-01-11 21:07:29

标签: ember.js

每次渲染视图时,有没有办法创建新的控制器对象?这种方法对我来说会更方便,因为我处理模态窗口。 谢谢你的回答。

3 个答案:

答案 0 :(得分:3)

您需要使用render帮助程序,例如:

<强> animal.hbs:

{{render "cat"}}

{{render "hamster"}}

如果上方cat拥有CatController控制器,则仓鼠拥有HamsterController控制器。

使用view帮助时:

<强> animal.hbs:

{{view App.CatView}}

{{view App.HamsterView}}

catAnimalController个控制器,hamster也有AnimalController控制器。

请参阅COMPARISON TABLE

顺便说一句。您可能需要查看Component

答案 1 :(得分:2)

听起来你想要的是一种用自己的控制器/视图/模板渲染模态对话框的方法,而不必转换到新的路径。

这个guide in the Ember Cookbook on "Using Modal Dialogs"提供了一个很好的总结,说明如何使用新的控制器/视图/模板渲染模态对话框,然后在完成后将其删除。

更新:要为每个模态使用不同的控制器,请更改传递给“openModal”操作的第二个参数。在食谱中,他们使用'myModal' - 将解决:

  • App.MyModalController
  • App.MyModalView
  • 'my_modal'模板

答案 2 :(得分:1)

我认为render helper可能会对您有所帮助。如果您为其提供“模型”,则每次将其放入模板时都会创建一个新控制器。

{{#if errorObject}}
  {{render "modal" errorObject}}
{{else}}
  {{render "modal" successObject}}
{{/if}}

将错误状态的控制器设置为成功状态。

这在你的背景下是否有意义?