我使用Ember 1.0.0-RC3和Ember Data。当成功加载 hasMany 关系时,我需要对 有效 作出反应。
我的域名模型在概念上看起来像这样:
App.Person = DS.Model.extend({
fullName: DS.attr("string"),
friends: DS.hasMany("App.Person")
});
我使用Ember Data的默认DS.RESTAdapter
。其默认行为是在一个大批量请求中按需加载 hasMany 关系。
由于somePerson
可能有很多friends
,因此从服务器返回friends
关系可能需要一些时间。
我希望在请求hasMany
关系期间向服务器用户提供视觉反馈(例如微调动画),直到服务器响应结果。
如何有效地完成此要求?是否有可用于插入自定义“startedLoading
”和“finishedLoading
”回调的挂钩?
答案 0 :(得分: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')
})