我是Ember的新手,我想知道处理这种常见情况的最佳做法。
我想在索引页面内显示创建一些模型的表单,之后显示4个节点,其中包含有关该模型商店最后4个的小信息。
所以,我的第一个想法是:
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个模型,这看起来很奇怪,我在文档和指南中都看不到。所以,我假设我正在以错误的方式做事:)
提前致谢。
答案 0 :(得分:1)
如果您需要来自单个模型钩子的两组不同的Async数据,最好的方法是使用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
。