8
Với ember-dữ liệu tôi đang tải tất cả hồ sơ của một mô hình với:Ember-Data callback khi FindAll xong tải tất cả hồ sơ
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);
});
}
});
Phương pháp didLoad
được gọi khi mỗi người trong số các bản ghi đã tải xong. Có phương thức nào để gọi khi tất cả các bản ghi đã tải xong không?
EDIT
mẫu:
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')
});
Chỉ cần thử nó và nó cũng làm như vậy: cháy lên trên mỗi bản ghi nạp –
Tuyệt đối, nhưng trong mã của bạn, mỗi trường hợp mô hình quan sát thuộc tính 'isLoaded'. Trong đề xuất của tôi, toàn bộ 'ModelArray' được quan sát một lần, trong ngữ cảnh sử dụng ... –
Cảm ơn, hoàn toàn bỏ lỡ điều đó! Nó hoạt động như bạn đề nghị. Không chắc chắn tại sao 'findAll' không đặt cờ' isLoaded'. –