backbone.js uncaught typeError в parentView, пытающемся создать экземпляр subView

Я пытаюсь отладить этот код для parentView. Ошибка, выдаваемая из этого кода: «Uncaught TypeError: невозможно прочитать атрибуты свойства неопределенного». console.log также возвращается как undefined, однако, если я console.log того же this.model.total_fans позже в функции рендеринга, он имеет значение. Я недостаточно хорошо знаю магистраль, чтобы отлаживать эту раздражающую и потенциально незначительную ошибку, но мне кажется, что эта настройка неверна, особенно после прочтения сообщений о работе с подвидами рендеринга в мастер-представлении здесь Как обрабатывать инициализацию и рендеринг подпредставлений в Backbone.js?. Мне интересно, что здесь не так. Должен ли я создавать экземпляры подпредставлений в инициализации родителей? И должен ли родитель вызывать render и pagesetup при изменении модели??

initialize:function () {
    var self = this;

    // General model for this page
    this.model = new geodemoModel();

    // separate summary model
    this.summaryModel = new summaryModel();

    this.model.fetch();
    this.summaryModel.fetch();

    this.model.bind('change', this.render, this);
    this.model.bind('change', this.pageSetup, this);

    this.summaryModel.bind('change', this.render, this);
    this.summaryModel.bind('change', this.pageSetup, this);

  },

pageSetup:function () {
 if (this.oneSelect == 'All' || this.oneSelect == 'lifetime_fans') {
        console.log(this.model.total_fans);
        var viewLifetime = new lifetimeView(this.model.total_fans.attributes.total_fans_object);
        $('#lifetimeFans').html(viewLifetime.render().el);
      }

person natecraft1    schedule 18.11.2013    source источник


Ответы (1)


Предполагая, что ваша модель существует, вы должны использовать:

this.model.get('total_fans').attributes.total_fans_object

если это не сработает, вставьте console.log(this.model) в pageSetup.

person Prisoner    schedule 18.11.2013
comment
дочерний {cid: c7, атрибуты: Объект, _change: true, _previousAttributes: Объект, изменено: Объект…} _changeing: true _events: Объект _pending: false _previousAttributes: Атрибуты объекта: Даты объекта: Предыдущий объект: Выбранный объект: Объект proto: объект изменен: объект cid: c7 queryParams: объект top_engagement_by_country_28: дочерний top_engagement_demographics_28: дочерний top_fans_by_country_28: дочерний top_fans_demographics_28: дочерний top_reach_by_country_28: дочерний top_reach_demographics_28: дочерний total_fans: дочерний total_fans_demo: дочерний - person natecraft1; 18.11.2013