我正在将 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() 功能不完整并导致问题吗?