0
在我的应用程序中,我创建了一个可重用的UI组件,它将让用户请求3次可能的约会。由于这是一个可重用的UI组件,这将是一个视图(以我的理解)。灰烬控制器vs视图
事情变得棘手的地方在于实现。为此,我们将使用几个模型(多次预约)。当我沿着添加时间的路线并将约会保存到服务器时,我一直在想,管理模型通常是控制器工作,而不是视图。
那么什么是正确的?
我想在视图的初始化过程中创建一个控制器,并用它做所有的模型操作吗?或者可以在视图中创建模型并在其中进行操作并保存它?
最后,我只想在模板中包括的观点,和一切应该只是工作:
{{#view App.ScheduleAppointment}}
好点。这似乎假设模型保存将在页面的控制器中完成,对吧?该组件将包含在各种页面/控制器中。我希望控制器不必知道它,因为它与它们没有直接关系。我可以创建一个控制器,以某种方式加载该组件,这样它就可以自成一体了吗? (我试过这样做,它开始看起来很丑) –
@JeremyGillick是的,你可以为你的组件声明一个显式的控制器,并通过使用'needs'数组来将它作为依赖关系放入任何其他控制器中:http:// emberjs .com/guides/controllers/dependencies-between-controllers/ – herom
该组件是它自己的控制器。我试着用@herom指出的'needs'属性,但我不工作,我认为它不应该。组件与使用它们的上下文是隔离的,这意味着你可以在多个上下文中使用它们(只要你满足它的接口)。如果你喜欢,你可以把保存逻辑放在组件中,或者把它放在一个mixin中,你可以将它应用到使用它的控制器上(我更喜欢这个)。 – edpaez