2012-04-05 15 views
8

tüm kayıtlar yüklenirken bittiğinde: kaydın her yüklenmesi tamamlandıktan sonraKor-Veri geri arama findAll ben bir modelin tüm kayıtları yüklenirken ediyorum kor-verileriyle

App.adapter = DS.Adapter.create({ 
    findAll: function(store, type) { 
     var url = type.url; 
     jQuery.getJSON(url, function(data) { 
      var ids = data.map(function(item, index, self){ return item.id }); 
      store.loadMany(type, ids, data); 
     }); 
    } 
}); 

didLoad yöntemi denir. tüm kayıtlarının yüklenmesi tamamlandığında arayacağınız bir yöntem var mı?


DÜZENLEME

Modeli:

App.Article = DS.Model.extend({ 

    title: DS.attr('string'), 
    content: DS.attr('string'), 


    checkIsLoaded: function() { 
     if (this.get('isLoaded')){ 
     console.log('loaded!'); // outputs `loaded` for each record 
     } 
    }.observes('isLoaded') 

}); 

cevap

6

Evet, findQuery kullanmak ve sonra ModelArray üzerinde .isLoaded özelliğini gözlemleyebiliriz.

load: -> 
    @set 'data', @get('store').findQuery App.MyModel, { q: '...' } 

Ve gözlem var:

örn

loadingComplete: (-> 
    @doSomeStuff() if @getPath 'data.isLoaded' 
).observes 'data.isLoaded' 
+0

Sadece denedim ve aynı yapar: yukarı her kayıtta yangınlar Kesinlikle –

+0

yüklenen ancak kodunuzda, her model örneği "isLoaded" özelliğini gözlemler. Benim önerim olarak, tüm "ModelArray" bir kez, kullanım bağlamında gözlenir ... –

+0

Teşekkürler, tamamen bunu özledim! Önerdiğin gibi çalışır. 'FindAll'' 'isLoaded' bayrağı ayarlanmadığından emin değil. –