在骨干中渲染html不起作用

时间:2013-11-07 09:45:19

标签: javascript jquery backbone.js

我遇到以下代码的问题:未填充div reward_view。正在运行渲染功能,但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>

1 个答案:

答案 0 :(得分:2)

您的代码works fine。我怀疑你在文档准备好之前就已经完成了这一切,所以还没有找到#reward_view