Что такое «d» в Google Chrome, когда мы console.log () являемся коллекцией Backbone.js? - PullRequest
1 голос
/ 23 февраля 2012

Всякий раз, когда я console.log () собираю коллекцию Backbone.js, консоль Google Chrome отображает букву «d» в отличие от обычной записи «Object» в Safari или Firefox.Есть ли разница?

Кроме того, всякий раз, когда я console.log () любой подпункт в коллекции (например, console.log (exampleCollection.models)), я получаю пустой массив.Я что-то не так делаю?

Код:

(function($) {
  var Item = Backbone.Model.extend({
    defaults: {
      "sku":"",
      "brand":"",
      "model":"",
      "picture":"placeholder.jpg"
    },
    url: function() {
      return this.id ? 'products/' + this.id : 'products';
    }
  });

  var Items = Backbone.Collection.extend({
    model: Item,
    url: "products"
  });

  var items = new Items;

  items.fetch();

  console.log(items); // shows "d" in Google Chrome along with typical 
                      // object-like drop-down options
  console.log(items.models); //  shows "[]" empty array in console

})(jQuery);

1 Ответ

1 голос
/ 23 февраля 2012

Я все еще новичок в Backbone, но я думаю, что Джон Соу прав.Все модели, коллекции, представления Backbone отображаются как d, и они замусорены по всему уменьшенному коду.Если вы видите d, это хороший признак того, что вы можете манипулировать им, как это могут делать объекты Backbone.

Что касается пустого массива, я подозреваю, что ваш код на стороне сервера не возвращает коллекцию правильно.Можете ли вы опубликовать пример того, как вы обрабатываете этот запрос и что вы отправляете обратно?

Я думаю, я помню, что столкнулся с подобной проблемой, и решение состояло в том, чтобы убедиться, что он возвращает хорошие данные json итип контента был application / json.Но моя память затуманена.

РЕДАКТИРОВАТЬ: Возможно, вы захотите поиграть с колбэками успеха и ошибок, доступными для fetch (), чтобы пролить больше света на ситуацию.может быть связано с вашей проблемой - Получение данных на сервер и с сервера с помощью Backbone

EDIT3: я опубликовал полный пример магистрали: создание моделей, добавление их в коллекцию, выборка дополнительных моделей вФорма коллекции с сервера и добавление их в существующую коллекцию (вместо сброса).В нем смешаны взгляды и подпредставления, но некоторые аспекты казались похожими на этот вопрос, поэтому я включаю ссылку:

Отслеживание старой части коллекции и новой части

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