0

我在 backgrid 的第 1620 行收到此错误:

Uncaught TypeError: Cannot call method 'text' of null

这是我的代码,它模仿了这个例子:

var ConversionTag = Backbone.Model.extend({});
var ConversionTagCollection = Backbone.Collection.extend({
    model: ConversionTag,
    url: '/api/tags/conversion',
    parse: function(response, options) {
        return response.conversionTags;
    }
});

var tags = new ConversionTagCollection();

var init = function(parentSelector) {
    var columns = [
        { name: 'chanId', label: 'Channel', cell: 'integer' },
        { name: 'name', label: 'Description', cell: 'string' },
        { name: 'pageUrl', label: 'Conversion URL', cell: 'string' },
        { name: 'secureFl', label: 'Secure Tag', cell: 'integer' },
        { name: 'id', label: 'ID', cell: 'integer', editable: false }
    ];
    var grid = new Backgrid.Grid({
        columns: columns,
        collection: tags
    });
    var foo = grid.render().$el; // ERROR!
    $(parentSelector).append(foo);
    tags.fetch();
    window.ctags = tags;
    window.cgrid = grid;
};

错误发生foo=在线上并且 tags.fetch永远不会被调用。

4

1 回答 1

0

那是因为您正试图将 HTML 注入到标头中。$.text()document.createTextNode在后台调用,它不接受 HTML。您必须子类 Header在您的列定义中明确声明其用法。

于 2013-03-02T03:19:08.110 回答