findAll完成加载所有记录时,Ember-Data回调 [英] Ember-Data callback when findAll finished loading all records

查看:116
本文介绍了findAll完成加载所有记录时,Ember-Data回调的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  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 该记录已经完成加载。所有记录已完成加载时,是否有一种方法可以调用?






编辑



型号:

  App.Article = DS.Model.extend({

标题:DS.attr('string'),
content:DS.attr('string'),


checkIsLoaded:function(){
if(this.get('isLoaded')){
console.log('loaded!'); //为每条记录输出`loaded`
}
} .observes('isLoaded')

});


解决方案

是的,您可以使用 findQuery ,然后在 ModelArray 上观察 .isLoaded 属性。



例如:

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

有观察:

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


With ember-data I'm loading all records of a model with:

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);
      });
  }
});

The didLoad method is called when each of the record has finished loading. Is there a method to call when all records have finished loading?


EDIT

Model:

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')

});

解决方案

Yes, you can use findQuery, and then observe .isLoaded property on the ModelArray.

e.g:

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

And have the observation:

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

这篇关于findAll完成加载所有记录时,Ember-Data回调的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆