使用Layoutmanager时渲染Backgrid

时间:2013-08-23 12:56:27

标签: backbone.js backgrid backbone-layout-manager

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

Backbone.Layout.configure({
    manage: true

会混淆Bac​​kgrid的渲染。

manage设置为false时,表格会正确呈现,但如果我将manage设置为true,则表格无法完全呈现(无表格)头部或身体)但只有<table class="backgrid"></table>

1 个答案:

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