在這種jsfiddle,所述didInsertElement鉤內部時,我試圖調用稱爲eventJSON的控制器的方法,其在CalendarsController定義,我我在一個名爲calendarJSON的變量中存儲或傳遞該調用的控制器動作我在CalendarsView的didInsertElement鉤子中聲明。但是當我記錄結果時,它會給出未定義的結果。另外,如果我在didInsertElement鉤子內部放置一個調試器並檢查控制檯中的變量,它將返回undefined。Emberjs1.0.0-RC3:未定義主叫和存儲控制器的方法鑑於可變
我想存儲從返回的數據var calendarJSON = this.get('controller')。send('eventJSON');在變量中,因爲我想隨後將該數據傳遞給fullcalendar jquery。
控制器:
App.CalendarsController = Em.ArrayController.extend({
eventJSON: function() {
//returns the json of controller's content
this.invoke('toJSON');
return this.get('content');
}
});
的觀點:
App.CalendarsView = Ember.View.extend({
templateName: 'calendars',
attributeBindings: ['id'],
id: "mycalendar",
didInsertElement: function() {
debugger;
this._super();
//Right here is the problem
var calendarJSON = this.get('controller').send('eventJSON');
console.log(calendarJSON);
this.$().fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable: true,
events: calendarJSON
});
}
});
感謝編輯。 – brg