我对模板,视图和模型之间的关系感到困惑。如何在多个花括号视图及其关联对象之间建立关联?
我知道一个视图的主要角色之一是将原始事件转换为语义事件,但我不清楚应该如何向视图提供必要的数据。
我有一个calendar_month模板。关联的CalendarMonth
对象具有一个CalendarWeek
对象的数组,其中每个对象都有一个CalendarDay
对象的数组。 (这些不是模型,因为它们不会持久 - 它们是在CalendarMonthRoute
中生成的对象)。
所以我的模板看起来像这样:
<table>
{{#each week in weeks}}
<tr>
{{#each day in week.days}}
<td>
{{#view App.CalendarDayView}}
{{ day.monthDay }}
{{/view}}
</td>
{{/each}}
</tr>
{{/each}}
</table>
我想每个CalendarDayView
来响应点击,但我不知道怎么去访问特定的日历天对象,它应该与每个相应的CalendarDayView
相关联。
App.CalendarDayView = Ember.View.extend({
click: function(evt) {
// do something here... but how do I know which day was clicked?
}
});
我认为这很可能我没有正确设置它。每个CalendarDay
视图是否都有自己关联的CalendarDayController
实例,为相应的CalendarDay
对象提供代理访问?如果是这样,那么会不会需要CalendarDayController
的多个实例? (我的理解是,控制器是单身 - 每种类型都应该存在。)
任何意见非常赞赏。
的感谢!所以好像一个视图甚至没有必要 – doublea 2013-03-13 02:25:10
如果你的唯一目的是处理这些动作,你也可以把它放在parentView中。这一切都取决于:-) – mavilein 2013-03-13 08:52:07
动作的默认目标是控制器。您可以删除'target =“视图”'并将yourAction放置在CalendarDayController中 – Rudi 2013-03-13 09:15:15