我是Ember的新手,我想知道哪种是处理这种常见情况的最佳实践。
我想在索引页面中显示用于创建某些模型的表单,然后显示4个节点,其中包含有关该模型存储区的最后4个信息的little-info。
所以,我的第一个想法是:
app / index / template.hbs(使用pod的即时通讯)
...
<div>
{{form-creator-component o=model}}}
</div>
<div>
<h3>Last 4</h3>
{{#each model2 as |element| }}
{{litle-info o=element }}
{{\each}}
</div>
.....
但是要做到这一点,我需要在同一模板(和路由)中有2个模型,这看起来有点怪异,而且我在文档和指南中都看不到任何地方。所以,我认为我做错事了:)
提前致谢。
最佳答案
如果您需要通过单个模型挂钩获得两组不同的异步数据集,则最佳方法是使用Ember.RSVP.hash
。
这将等待多个promise,然后解析为一个对象。
例如,如果您有需要加载的博客和评论,则路线将如下所示:
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return Ember.RSVP.hash({
blogs: this.store.findAll(`blog`),
comments: this.store.findAll(`comment`),
});
}
});
然后,在模板中,可以将此数据用作
model.blogs
和model.comments
。