Si è verificato un problema quando il mio modello è stato recuperato dal server. Vedo il JSON corretto restituito dal server in chrome dev tools ma il modello non si aggiorna con i valori restituiti.Backbone Model.fetch restituisce i dati ma non aggiorna il modello
var listtemplate = new ListTemplateModel.Model({id: id}); listtemplate.fetch();
Vedo i dati corretti negli strumenti di sviluppo di Chrome a questo punto. Ecco cosa ritorna dal server:
{ "title": "Template one", "id": "template_one", "steps": [ { "description": "I love it", "id": 1, "created_at": "2012-12-24T18:01:48.402Z" }, { "description": "This is rubbish!", "id": 1, "created_at": "2012-12-24T18:01:48.402Z" } ], "created_at": "2012-12-24T18:01:48.402Z" }
ma console accedendo alla JSON mi mostra solo il valore di default e l'ID che è stata approvata nel corso della creazione del modello.
console.log(listtemplate.toJSON());
e restituisce:
{id: "template_one", title: "", steps: Array[0]}
Il mio modello si presenta così (sto usando Require.js, da cui il modello è stato rinominato in ListTemplateModel sopra)
var Model = B.Model.extend({ defaults: { title: '', id: 0, steps: [] }, urlRoot: 'xxx' });
Tutte le idee ?
Modifica @ La risposta di Amulya mi ha impostato sulla strada giusta e poi ho scoperto "allora". Spero che questo aiuti qualcuno che corre lo stesso problema:
listtemplate.fetch().then(function(){ //update the view });
@ La risposta di Amulya mi ha impostato sulla strada giusta e poi ho scoperto "allora". Spero che questo aiuti qualcuno che si imbatte nello stesso numero –