6

任何人都可以向我解释为什么isLoaded在调用 ajax 调用的成功方法之前将 RecordArray 状态设置为 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')
4

2 回答 2

4

似乎存在一个持续存在的错误,即isLoaded在集合上过早设置属性。这是GitHub 上的相关问题

于 2013-02-15T06:28:47.437 回答
0

对于使用旧版本 Ember 的任何人:我发现如果您包装您正在使用的任何内容,那么到那时Ember.run.next内容实际上已加载

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

于 2015-03-26T20:26:55.893 回答