2013-06-10 2 views
0

То, что я пытаюсь сделать, это когда страница загружена, он покажет пользователю список всех своих «контактов». Есть справедливый бит кода, поэтому я положил его 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

ответ

1

Как насчет того, чтобы попробовать ... Я перебираю jsonData, чтобы получить каждый объект. Не уверен, что если руль ожидает объект JSON или строку JSON, поэтому я выводю каждый на консоль.

+0

Спасибо за помощь. То, что я сделал, было там, где у вас есть data.length, я использовал Object.length и работал вместе с кодом, который у меня был в предыдущих примерах. –