jQuery プラグインのフル カレンダーを backbone.js と組み合わせて使用していますが、最初の読み込み時に正しく表示されないという問題があります。
これは、カレンダーを含むバックボーン ビューのレンダリング関数です。
render: function() {
var that = this;
// DEBUG:
// console.log({entries: data});
this.$el.html(this.template(this.serialize()));
this.$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
height: that.$el.parent().height()
});
// prints undefined
console.log(this.$('#calendar').fullCalendar('getView').title);
window.setTimeout(function() {
this.$('#calendar').fullCalendar('changeView','agendaWeek');
}, 500);
return this;
}
500 ミリ秒のタイムアウトが含まれていることがわかります。その 500 ミリ秒を遅らせてから、ビューをアジェンダウィークに変更すると、表示されます。ただし、遅らせないとカレンダーが表示されません。どちらの場合もエラーは出力されません。
ここで何を試すべきか、または何がうまくいかないのか途方に暮れています。ドキュメントのどこかに欠けているカレンダーを作成するためのコールバックはありますか?
ありがとう
編集: .html() 関数が完全ではなく、問題が発生している可能性がありますか?