2012-12-24 17 views
6

Modelim sunucudan getirildiğinde bir sorunla karşılaşıyorum. Geri Bildirim Ver Daha fazla bilgi JSON chrome dev araçları içinde sunucudan geri doğru döndürdü ancak model döndürülen değerler ile güncelleştirmez.Backbone Model.fetch veri döndürür ancak modeli güncelleştirmiyor

var listtemplate = new ListTemplateModel.Model({id: id}); 
listtemplate.fetch();

Bu noktada Chrome uygulama araçlarındaki doğru verileri görüyorum.

 
{ 
    "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" 
} 

ama JSON giriş konsol bana sadece varsayılan değeri ve model oluşturma sırasında geçirildi id gösterir: Burada sunucudan geri geliyor şeydir.

console.log(listtemplate.toJSON());

ve bu döndürür:

{id: "template_one", title: "", steps: Array[0]} 
Benim modelim şöyle

(ı Require.js kullanıyorum, dolayısıyla Modeli yukarıdaki ListTemplateModel olarak değiştirilmiştir)

 
var Model = B.Model.extend({ 
     defaults: { 
      title: '', 
      id: 0, 
      steps: [] 
     }, 
     urlRoot: 'xxx' 
    }); 

Herhangi bir fikir ? Amulya cevabı @

Düzenleme i "sonra" keşfetti sonra doğru yolda beni öncesine ayarlayın. Bu birileri aynı sorunla çalışan yardımcı olur umarım: tamamlanacak getirme için

listtemplate.fetch().then(function(){ 
    //update the view 
});
+0

@ Amulya'nın cevabı beni doğru yolda ayarladı ve sonra "sonra" keşfetti. Umarım bu aynı sorunu çalışan birisi –

cevap

9

nedeni belki beklemezler çünkü. Bunu deneyin:

var listtemplate = new ListTemplateModel.Model({id: id}); 
listtemplate.fetch({ 
    success: function() { 
     // fetch successfully completed 
     console.log(listtemplate.toJSON()); 
    }, 
    error: function() { 
     console.log('Failed to fetch!'); 
    } 
}); 
+0

tatlı yardımcı olur! Bu öyle görünüyor. Benim görüşüme göre başarıyı geri bildirimde görmek istedim mi? –

+0

evet haklısınız .. görüntüyü 'başarı' geri dönüşünde yapmalısınız! –

İlgili konular