2016-04-02 2 views
0

Я новичок в Ember, и я хотел бы знать, какая из лучших практик справляется с этим распространенным сценарием.Как обрабатывать несколько моделей в шаблоне/маршруте в ember.js

Я хотел бы отобразить внутри индексной страницы форму для , создав некоторую модель, а после этого показать 4 узла с небольшой информацией о последних 4 таких магазинах.

Итак, моя первая мысль была что-то вроде:

приложение/индекса/template.hbs (им с использованием стручка-х)

... 
<div> 
    {{form-creator-component o=model}}} 
</div> 
<div> 
    <h3>Last 4</h3> 
    {{#each model2 as |element| }} 
     {{litle-info o=element }} 
    {{\each}} 
</div> 
..... 

Но делать это, я должен был бы иметь 2 модели в том же шаблоне (и маршруте), который выглядит странно, и я не видел нигде в документах и ​​в руководствах. Итак, я предполагаю, что я делаю что-то не так :)

Заранее спасибо.

ответ

1

Если вам нужен два разных набора данных Async из одного крючка модели, наилучшим подходом является использование Ember.RSVP.hash.

Это ожидание нескольких обещаний, а затем разрешение на объект.

Например, если вы имели блоги и комментарии вы, необходимые для загрузки, ваш маршрут будет выглядеть следующим образом:

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.

Смежные вопросы