Backbone JS v0.5.3 Простая настройка не работает? - PullRequest
0 голосов
/ 13 января 2012

У меня есть простое магистральное приложение, которое я использую для тестирования. Кажется, все на месте, и я не получаю никаких ошибок 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;
    }
});

1 Ответ

2 голосов
/ 13 января 2012

В функции, переданной _.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...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...