在我的应用程序中,我有一个 1 到 M 关系建模,如下所示:
Social.Message = DS.Model.extend({
created: DS.attr("date"),
text: DS.attr("string"),
metrics: DS.hasMany("Social.Metric"),
});
Social.Metric = DS.Model.extend({
label: DS.attr('string'),
value: DS.attr('number'),
message: DS.belongsTo('Social.Message'),
});
当 Ember Data 调用检索消息时,数据包如下所示:
[
{
"id": 13,
"created": "2013-05-20T21:35:56Z"
"text": "You got to let the roots grow deep, and stop worrying about the leaves",
"metrics": [
"reach-13",
"click-13"
]
}
]
我们使用侧载来检索指标,其返回数据如下所示:
[
{
id: "reach-13",
value: 3,
label: "reached"
},
{
id: "reply-13",
value: 2,
label: "reply"
},
]
这个过程运行良好,没有任何缺陷。但由于可能有大量消息,每条消息都有一组指标,因此显示指标的时间可能是 3 秒或更长时间。在每条消息上,我想添加一个加载微调器来代替指标,然后在该消息的指标返回后将其删除。我已经添加了微调器,但是一旦度量集合返回给客户端,我就无法弄清楚如何删除它。
Ember 是否在控制器上有一个事件或方法,当整个数据集合返回给客户端时会触发?
我知道模型生命周期有这样的钩子,但我不关心单个模型,我正在寻找更高的东西,用于整个指标集(对于每条消息)
这是现在正在发生的事情的快速截屏视频。 http://screencast.com/t/CIx3Aikck3