Ember-data RecordArray是已加载状态

时间:2013-01-11 05:31:51

标签: ember.js ember-data

任何人都可以向我解释为什么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')

2 个答案:

答案 0 :(得分:4)

似乎存在持续的错误,isLoaded属性在集合中过早设置。这是GitHub上的the relevant issue

答案 1 :(得分:0)

对于任何使用旧版Ember的人:我发现如果你用Ember.run.next包装你正在做的任何事情,那么内容实际上已经加载

不是最漂亮的解决方案,但它在Ember v1.0中对我有用。