jQueryプラグインfull calendarを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ミリ秒の設定タイムアウトを持って見ることができます。その500msを遅らせてからagendaWeekにビューを変更すると、それが表示されます。しかし、私が遅れることがなければ、カレンダーは表示されません。どちらの場合もエラーは表示されません。
私はここで何をしようとしているのか、何が間違っているのか分からない。ドキュメントのどこかに見つからないカレンダーを作成するためのコールバックがありますか?
おかげ
EDIT:それは.htmlを()funcitonが完了し、問題の原因ではないということだろうか?
Fullcalendarはおそらくその要素のサイズや位置を気にしていますか?私はおそらくGoogle Mapsと同様の問題に出くわしたし、 'setTimeout(...、0)'トリックが私のために働いた。 –
私はかなり問題が@muistooshortが暗示したものであると確信しています。私は完全なカレンダープラグインを使用しており、その要素の「サイズと位置」を気にしています。 – Jack
高さをハードコードすると問題は解決しますか? this.serialize()は何を返しますか? –