Я загружаю все мои важные данные в моем базовом приложении при загрузке начальной страницы. Это в основном коллекции. Некоторое время я застрял в проблеме, когда я звонил collection.get(id)
, но он возвращал undefined
, хотя я знал, что существует модель с атрибутом ID
прошедшего идентификатора.Правильный способ загрузки базы данных с базой данных с данными на загрузку страницы
Затем, когда я осмотрел коллекцию в консоли, я заметил, что массив _byId
, который должен содержать массив идентификаторов моих моделей, пуст.
Ниже вы можете увидеть, что в коллекции есть модели, и у этих моделей есть атрибут идентификатора.
window.campaigns
child
_byCid: Object
_byId: Object
__proto__: Object
_callbacks: Object
length: 32
models: Array[32]
models: Array[32]
0: child
_callbacks: Object
_escapedAttributes: Object
_pending: Object
_previousAttributes: Object
_silent: Object
attributes: Object
DateCreated: "23/05/2012"
DateScheduled: ""
DateSent: ""
Description: null
From: null
ID: 1
IsAllowed: false
Message: null
Name: "Some name"
__proto__: Object
changed: Object
cid: "c0"
collection: child
__proto__: ctor
1: child
2: child
3: child
4: child
5: child
length: 6
__proto__: Array[0]
__proto__: ctor
Я самонастройки данные, используя массив объектов JSON, которые написаны на моей странице индекса на странице загрузки. Я предположил, что это все, что вам нужно было сделать, и Backbone предположил бы, что свойство, называемое «ID», является идентификатором модели и будет соответствующим образом интерпретировать.
Я ошибаюсь, думая об этом/я делаю это правильно?
спасибо за это. эпический ответ! если бы я всегда получал ответ на этот вопрос. он действительно решил мою проблему, я ошибочно полагал, что позвоночник будет использовать конвенционный подход, где любая форма id будет работать, но, очевидно, нет! – jcvandan