3

我遇到了 Backbone.js 视图未呈现的问题。我的代码相当简单,如下所示:

TableView = Backbone.View.extend({
    initialize : function() {
        this.render();
    },
    render : function() {
        var template = _.template($("#table_template").html(), {});
        alert(this.el);
        this.el.html('Go');
        //this.el.html(template);
    },
    events: {

    },
});

这是实例化对象和设置 el 的代码

<script type="text/javascript">
            $(document).ready(function() {
                var t  = $("#table_1");
                //This works!!!
                t.html('Test');

                //Passing the element as the el, never works
                var table = new TableView({el : t});
            });
        </script>

除了它总是在控制台中说:你ncaught TypeError: Object #<HTMLDivElement> has no method 'html' . 我在这里做错了吗?我正在使用 Jquery.1.7.2,主干 0.9.2,下划线 1.3.3 和 json2。

4

2 回答 2

5

this.el是一个元素而不是 jQuery 对象。尝试$(this.el).html()this.$el.html()

于 2012-07-01T12:50:45.410 回答
0

它应该是

var table = new TableView({el : "#table_1"});
于 2012-07-01T13:15:07.827 回答