Pan*_*agi 8 ember.js ember-data
使用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);
});
}
});
Run Code Online (Sandbox Code Playgroud)
didLoad当每个记录完成加载时调用该方法.所有记录完成加载后是否有方法调用?
编辑
模型:
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')
});
Run Code Online (Sandbox Code Playgroud)
是的,你可以使用findQuery,然后观察.isLoaded属性ModelArray.
例如:
load: ->
@set 'data', @get('store').findQuery App.MyModel, { q: '...' }
Run Code Online (Sandbox Code Playgroud)
并观察:
loadingComplete: ( ->
@doSomeStuff() if @getPath 'data.isLoaded'
).observes 'data.isLoaded'
Run Code Online (Sandbox Code Playgroud)