1

我正在使用 Layoutmanager 并manage设置为true

Backbone.Layout.configure({
    manage: true

这会破坏 Backgrid 的渲染。

manage设置false为时,表格会正确渲染,但如果我设置managetrue,则表格不会完全渲染(没有表头或表体),而只有<table class="backgrid"></table>.

4

1 回答 1

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;
  }
  
});

于 2015-03-25T14:01:34.183 回答