我正在用Ember構建一個簡單的日曆應用程序。我的觀點是嵌套這樣:Ember.js - 子嵌套視圖'控制器
<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頂部顯示一個彈出窗口。
Thx的快速反饋,但我不知道我需要一個路線,因爲控制器處於相同的狀態。我應該更新帖子並添加此信息。有沒有辦法申報適用於這種情況的路線? – Fiftoine 2013-03-07 19:39:43
我已經更新了我的回覆。 – mavilein 2013-03-08 09:26:03
嗨mavilein,再次感謝您的更新。我試過控制助手。這可能是解決方案,但現在所有calendarDayView鏈接到相同的說法。這就像ember instanciate calendarDayController的一個實例,並在必要時重用它......你知道一個竅門來解決這個問題嗎? – Fiftoine 2013-03-08 12:45:47