Backbone JS v0.5.3简单设置不起作用



我有一个用于测试的简单主干应用程序。一切似乎都已就绪,我没有收到任何JS错误,但我没有收到服务器要求在页面上显示的内容。

我正试图将一些LI附加到UL。我将骨干模型和JSON表单记录到控制台,这样我就可以清楚地看到数据以JSON的形式从服务器返回。

对我在(极其简单的)主干实现中缺少什么有什么想法吗?

点击此处查看:http://backbonepeople.apphb.com/

AppView = Backbone.View.extend({
    el: '#people',
    initialize: function () {
        this.model.bind("reset", this.render, this);
    },
    render: function (eventName) {
        _.each(this.model.models, function (person) {
            console.log(person);
            var view = new PersonView({ model: person });
            $(this.el).append(view.render().el);
        });
        return this;
    }
});

在传递给_.each的函数中,this没有绑定到您的视图,这意味着this.el没有定义。尝试

_.each(this.model.models, function (person) {
    var view = new PersonView({ model: person });
    $(this.el).append(view.render().el);
}, this);

var self=this;
_.each(this.model.models, function (person) {
    var view = new PersonView({ model: person });
    $(self.el).append(view.render().el);
});

顺便说一下,_.each(this.model.models, function...可以写成this.model.each(function...

最新更新