我是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.blogsmodel.comments

07-24 18:03
查看更多