1

我将 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”回调的钩子?

4

1 回答 1

0

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

<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')

})
于 2013-06-06T18:26:18.350 回答