То, что я пытаюсь сделать, это когда страница загружена, он покажет пользователю список всех своих «контактов». Есть справедливый бит кода, поэтому я положил его HERE и ниже - это просто метод загрузки.Использование Handlebars.js с StackMob
$(window).load(function() {
var Contacts = StackMob.Model.extend({ schemaName: 'contacts' });
var myContacts = new Contacts();
var q = new StackMob.Collection.Query();
q.orderAsc('firstname'); //sort by firstname in ascending order
myContacts.query(q, {
success: function (model) {
console.log(model.toJSON());
for (var i = 0; i < model.length; i++) {
var data = ({
FirstName: model[i].attributes.firstname,
LastName: model[i].attributes.lastname,
Pno: model[i].attributes.phoneno,
Emails: model[i].attributes.email,
objIdel: model[i].contacts_id,
objIdeit: model[i].contacts_id
});
var template = Handlebars.compile($('#template').html());
var html = template(model);
$("#contacts").append(template(data));
}
},
error: function (model, response) {
console.debug(response);
}
});
});
console.log (model.toJSON()); показывает, чего бы я ожидал, но похоже, что он вообще не попадает в цикл for.
EDIT: Если я избавиться от петли и используйте код, приведенный ниже, я получаю только один контакт без каких-либо значений на входах
var data = ({
FirstName: model.attributes.firstname,
LastName: model.attributes.lastname,
Pno: model.attributes.phoneno,
Emails: model.attributes.email,
objIdel: model.contacts_id,
objIdeit: model.contacts_id
});
EDIT: Я был в состоянии получить ПгвЬЫат от контактной помощи консоли .log (results.attributes [0] [ "Firstname"]); проблема в том, что я не могу понять, почему она не входит в цикл.
Я проверил код без цикла, и он сделал шаблон руля первого контакта, который работал как строганый, но я не могу понять, почему он не будет проезжать через все их. Link to a more up to date version of the code
Спасибо за помощь. То, что я сделал, было там, где у вас есть data.length, я использовал Object.length и работал вместе с кодом, который у меня был в предыдущих примерах. –