【发布时间】:2013-02-23 00:24:31
【问题描述】:
我正在使用 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 顶部显示一个弹出窗口,其中包含额外的信息。
【问题讨论】:
标签: view controller ember.js