У меня есть пользователь модели, настроенный так:
User = Backbone.Model.extend({
urlRoot: '/users',
defaults: {
id: '',
username: '',
password: ''
},
idAttribute: '_id',
initialize: function () {
console.log('User initiated');
}
});
И коллекция должна быть такой:
var Users = Backbone.Collection.extend({
url: "/users",
model: User,
});
Users = new Users();
Затем, когда я пытаюсь получить модели в своем представлении, используя Users.fetch()
, я получаю только один результат в массиве «коллекция», независимо от того, сколько результатов у меня есть на бэкэнде.
Однако после удаления idAttribute: '_id' из Model User я получаю точное количество результатов в качестве бэкэнда.
Кто-нибудь знает, почему это происходит?
p.s. Когда я вошел в консоль, кажется, что Users.fetch() запускалась столько же раз, сколько у меня есть пользователей (каждый раз, когда коллекция обратного вызова содержит только 1 модель). Таким образом, последний вызов переопределяет все предыдущие и показывает только последний результат.
Но я до сих пор понятия не имею, что происходит на самом деле.