【问题标题】:Reacting on a finished Ember Data hasMany query对完成的 Ember Data hasMany 查询做出反应
【发布时间】:2013-06-07 02:26:18
【问题描述】:

我使用 Ember 1.0.0-RC3 和 Ember 数据。当成功加载 hasMany 关系时,我需要高效做出反应。

我的领域模型在概念上看起来像这样:

App.Person = DS.Model.extend({
    fullName: DS.attr("string"),
    friends: DS.hasMany("App.Person")
});

我使用 Ember Data 的默认 DS.RESTAdapter。它的默认行为是在一个大批量请求中按需加载 hasMany 关系。

由于somePerson 可以有很多friends,因此从服务器接收到friends 关系可能需要一些时间。

我想在请求hasMany 关系期间以及直到服务器响应结果期间为我的 Web 应用程序的用户提供视觉反馈(例如微调器动画)。

我怎样才能有效地完成这个要求?是否有可用于插入自定义“startedLoading”和“finishedLoading”回调的钩子?

【问题讨论】:

    标签: ember.js ember-data


    【解决方案1】:

    friends.isLoaded 属性的车把视图中尝试bindAttr

    <span {{bindAttr class="friends.isLoaded:loading:hide"}}></span>
    

    对于更高级的处理,您可以在控制器中执行Ember.observer

    App.PersonController = Ember.ObjectController.extend({
    
        watchFriends: Ember.observer(function(){
            var loaded = this.get('friends.isLoaded')
        }, 'friends.isLoaded')
    
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-29
      • 1970-01-01
      • 2022-11-02
      • 1970-01-01
      相关资源
      最近更新 更多