我正在使用 Layoutmanager 并manage
设置为true
Backbone.Layout.configure({
manage: true
这会破坏 Backgrid 的渲染。
当manage
设置false
为时,表格会正确渲染,但如果我设置manage
为true
,则表格不会完全渲染(没有表头或表体),而只有<table class="backgrid"></table>
.
我正在使用 Layoutmanager 并manage
设置为true
Backbone.Layout.configure({
manage: true
这会破坏 Backgrid 的渲染。
当manage
设置false
为时,表格会正确渲染,但如果我设置manage
为true
,则表格不会完全渲染(没有表头或表体),而只有<table class="backgrid"></table>
.
我知道这是一个老问题,但这是因为 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;
}
});