我正在用 Ember 构建一个简单的日历应用程序。我的观点是这样嵌套的:
<script type="text/x-handlebars" data-template-name="calendar">
{{content.monthAsString}}
{{#each day in content.days}}
{{view App.DayView contentBinding="day"}}
{{/each}}
</script>
<script type="text/x-handlebars" data-template-name'="calendarDay">
{{content.date}}
</script>
我的 JS 代码:
App.CalendarController = Ember.ObjectController.extend({
content:App.Calendar.create(...);
oneDayHover:function(day){
}
});
App.CalendarView = Ember.View.extend({
templateName:"calendar"
});
App.CalendarDayController = Ember.ObjectController.extend({
dayHOver:function(){
//???? HOW TO ACCESS CalendarController?????
}
});
App.CalendarDayView = Ember.View.extend({
templateName:"calendarDay",
init:function(){
this._super();
this.set('controller', App.CalendarDayController.create());
},
mouseEnter:function(){
this.get('controller').dayHover();
}
});
问题1:没有比重写视图的init方法来设置它的控制器更好的解决方案吗?
问题2:如何从CalendarDayController访问CalendarController的oneDayHover?
在此先感谢您的帮助
更新 1: 我应该说这些控制器存在于相同的状态。mouseenter 的目的是在 CalendarDayView 顶部显示一个包含额外信息的弹出窗口。