1

我对以下代码有疑问:reward_view没有填充 div。渲染函数正在运行,但this.el似乎未定义,为什么?

var ListView = Backbone.View.extend({  
    el: '#reward_view',
    initialize: function(){
        _.bindAll(this, 'render'); // every function that uses 'this' as the current object should be in here
    },
    render: function(){
        console.log(this)
        console.log(this.el)
        $(this.el).html('<h1>Hello' + '</h1>');
        return this; // for chainable calls, like .render().el
    }
});

var myItem = new Item();

myItem.fetch();
var reward_view = new ListView({model:myItem});
reward_view.render();

HTML:

 <div id="reward_view" class="bs-callout bs-callout-info">

        </div>
4

1 回答 1

2

您的代码工作正常。我怀疑你是在你的文件准备好之前做这一切的,所以#reward_view还没有找到。

于 2013-11-07T09:58:20.843 回答