任何人都可以向我解释为什么RecordArray状态isLoaded
在调用ajax调用的成功方法之前设置为true。
来自ember-data源代码
findAll: function(store, type, since) {
var root = this.rootForType(type);
this.ajax(this.buildURL(root), "GET", {
data: this.sinceQuery(since),
success: function(json) {
debugger;
Ember.run(this, function(){
this.didFindAll(store, type, json);
});
}
});
},
在视图中定义
handler: function() {
var content, controller = this.get('controller');
if(controller.get('content.isLoaded')) {
}
}.observes('controller.content.isLoaded')
答案 0 :(得分:4)
似乎存在持续的错误,isLoaded
属性在集合中过早设置。这是GitHub上的the relevant issue。
答案 1 :(得分:0)
对于任何使用旧版Ember的人:我发现如果你用Ember.run.next
包装你正在做的任何事情,那么内容实际上已经加载。
不是最漂亮的解决方案,但它在Ember v1.0中对我有用。