Ember.js &引用;“成功”;或;“完成”;余烬数据采集检索方法
在我的应用程序中,我有一个1到M的关系模型,如下所示:Ember.js &引用;“成功”;或;“完成”;余烬数据采集检索方法,ember.js,ember-data,Ember.js,Ember Data,在我的应用程序中,我有一个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.att
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"
},
]
我们使用侧加载来检索指标,其返回数据如下所示:
[
{
"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在控制器上是否有触发的事件或方法?
我知道这一点,但我不关心单个模型,我在寻找更高的东西,针对整个指标集(针对每条消息)
这里有一个关于现在发生的事情的快速视频。
每个
消息
和度量
模型实例都有自己的模型生命周期挂钩。此外,DS.ManyArray
s实现了DS.hasnomy
关系,也有一个isLoaded
属性(一个用于整个数组)
因此,关键是在你的车把模板。在isLoaded
条件中包装度量,而不是整个消息。在信息的上下文中:
<div>{{created}}</div>
<div>{{text}}</div>
<div>
{{#if metrics.isLoaded}}
{{#each metric in metrics}}
{{! Display metric here. }}
{{/each}}
{{else}}
<img src='spinner.gif'>
{{/if}}
</div>
{{created}
{{text}}
{{{if metrics.isLoaded}
{{{#度量中的每个度量}
{{!此处显示度量。}
{{/每个}}
{{else}
{{/if}
ManyArray
s还有一个didLoad
事件,当isLoaded
设置为true时会触发该事件,但是对于您所描述的内容,您不应该需要它