我正在使用Layoutmanager,manage
设置为true
Backbone.Layout.configure({
manage: true
会混淆Backgrid的渲染。
当manage
设置为false
时,表格会正确呈现,但如果我将manage
设置为true
,则表格无法完全呈现(无表格)头部或身体)但只有<table class="backgrid"></table>
。
答案 0 :(得分:1)
我知道这是一个老问题,但这是因为LayoutManager和Backgrid都使用“渲染”功能。如果manage设置为true,则LayoutManager会使用自己的渲染函数覆盖Backgrid的渲染功能。
我解决这个问题的方法是创建一个扩展Backgrid并直接调用它的渲染函数的新视图。
var myGrid = Backgrid.Grid.extend({
manage:true,
initialize: function(options) {
Backgrid.Grid.prototype.initialize.call(this,options));
this.renderGrid();
},
renderGrid: function() {
Backgrid.Grid.prototype.render.call(this);
return this;
}
});