在这个jsfiddle中,在didInsertElement 钩子中,我试图调用一个名为eventJSON的控制器方法,该方法在 CalendarsController 中定义,我将该调用存储或传递给我在 didInsertElement 钩子中声明的名为calendarJSON的变量中的控制器操作日历视图。但是当我记录结果时,它给出了未定义的。此外,如果我在 didInsertElement 挂钩中放置一个调试器并在控制台中检查变量,它会返回未定义。
我想存储从var calendarJSON = this.get('controller').send('eventJSON');返回的数据 在变量中,因为我想随后将该数据传递给 fullcalendar jquery。
jsfiddle _
控制器:
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
});
}
});