Я пытаюсь передать вторую модель компоненту. У меня есть несколько книг, упорядоченных по категориям. Категории выбираются с помощью Multi-Select-Box, и мне нужно передать категории (которые хранятся в моем db) в компонент. Мне не нужно менять категории, мне нужен массив. Где и как я могу запросить их и передать их, если я не хочу вставлять хранилище в компонент? (Нет способа построить отношения «многие ко многим», книги имеют только строковый массив для категорий).Передача нескольких данных хранилища Ember Component
Сейчас я пытаюсь сделать это:
книги/route.js
model() {
this.store.findAll('book');
}
afterModel() {
this.set('categories', this.store.findAll('category');
}
книги/template.hbs
{{#each books as |book|}}
{{book-details book=book categories=categories}}
{{/each}}
компоненты/книги подробно/template.hbs
<h2>{{book.title}}</h2>
{{#each categories as |category|}}
<p>{{category.name}}</p>
{{/each}}
Он делает не работает для таких категорий, поэтому мне нужно найти способ получить их из магазина и передать их моему компоненту.
Компоненты не имеют моделей, у них есть только свойства. Если у вас две модели на вашем маршруте, вы можете передать вторую так же, как и с первой. Но без кода трудно угадать, что вы на самом деле делаете. – Jeff
Вам нужно установить категории на контроллере, а не маршрут. '' 'setupController (controller) { this._super (... arguments); this.store.findAll ('category', (categories) => {controller.set ('categories'}) } '' ' – jax