0

我正在编写一个日历应用程序,它需要按月显示事件

虽然我需要创建对象来表示日历月,但我认为这些CalenderMonth对象不应该models”(Ember术语),因为CalendarMonth对象不会持久保存到服务器(而Event对象会)。相反,CalendarMonthswill be 'objects', build with a CalendarMonth 'class',扩展 Ember.Object

那么,我使用哪种控制器CalendarMonth作为(经常变化的)对象的代理?( vanilla) 控制器?一个ObjectController?一个ArrayController

ObjectController似乎是要走的路,因为我确实打算让控制器充当单个对象的代理。我想我只是因为在相应的路由对象中,我会将CalendarMonth对象分配为控制器的MODEL。什么时候,它不是一个模型,它只是一个对象。

换句话说,我的问题是:

将不是模型的属性分配给属性Ember object是不好的做法吗?ObjectController's 'model'

4

1 回答 1

2

使用普通的 JS 对象作为控制器的模型/内容是不错的做法。重要的是视图将如何渲染模型。如果您一次只显示一个事件,或者该月的所有事件只显示一个月,那么这ObjectController是您的最佳选择。

AnArrayController用于当您想要在控制器中循环模型/内容并在视图中显示每个项目时。我不认为你应该太担心你应该使用什么控制器,一旦你决定如何创建你的视图,你想要哪个控制器就会变得很明显。

当 Ember 谈到将 aModel用于您的控制器时,您可以根据需要使用自己的 Ember 对象,然后在控制器中引用它,但它是自然 JS 对象还是 Ember 对象都没有关系。控制器看到两者都很好。

于 2013-02-07T08:44:51.390 回答