奇怪的事情正在发生。我有代码创建一个Backbone.js视图,除了它永远不会被渲染,但是如果我在控制台中运行它可以工作:
function createBookingsView($container, roomID){
var BookingsView = Backbone.View.extend({
el : $container,
initialize : function(){
console.log("derp");
_.bindAll(this, "addOne", "addAll", "render");
this.bookings = new Bookings();
this.bookings.bind("change", this.addOne);
this.bookings.bind("refresh", this.addAll);
this.bookings.bind("all", this.render);
this.bookings.fetch({data : {"room" : roomID}});
console.log(this.bookings.get(1));
},
addAll : function(){
this.bookings.each(this.addOne);
},
addOne : function(booking){
var view = new BookingView({model:booking});
$(this.el).append(view.render().el);
},
render : function(){
$(this.el).html("");
this.addAll();
}
});
return new BookingsView;
};
以及它是如何被称为:
window.LEFT_BOOKINGS = createBookingsView($("#timetable-a .bookingContainer"), room.id);
当我在控制台中手动运行上面的行时,它的工作非常出色。但它并没有在我的剧本中加载。
答案 0 :(得分:0)
我遇到了一些问题,在我需要它之前没有返回异步函数。