Как обрабатывать немодельные данные в Ember - PullRequest
0 голосов
/ 22 ноября 2018

Я хочу получить табличные данные, связанные с моделью, и отобразить их в таблице.Я не уверен, как это сделать в Ember.Вот что я попробовал:

Я добавил в свой API действие get, которое возвращает json с данными

model_path\:id\related_data

Я добавил в модель настраиваемое действие:

allShares: modelAction('all_shares',{type: 'GET'})

И вот как я добавляю его в модель маршрута:

allShares: invoice.then((i)=>{return i.allShares()})

Теперь у меня есть model.allSharesэто должно содержать данные.В инспекторе сети я вижу, что к конечной точке был запрос, возвращающий данные JSON, которые я хочу отобразить.

Следующий код в представлении совершенно пустой:

{{#each model.allShares as |elem index|}}
  {{elem}}
  {{index}}
{{/each}}

Теперь я могу видеть большой объект в инспекторе (используя отладчик в модели ()), и я не уверен, что с ним делать, или даже какой это тип объекта.

Что я могу сделать сейчас, чтобыотобразить данные в моем представлении?

РЕДАКТИРОВАТЬ:

{{log model.allShares}} пусто Хорошо, я не знал, что журнал был для консоли.Он отображает объект с данными из JSON. Теперь я должен найти способ использования данных в представлении.

{{model.allShares}} return [object Object]

1 Ответ

0 голосов
/ 26 ноября 2018

Исходя из вопроса, кажется, вы пытаетесь загрузить отношения для модели.Очень простой способ сделать это - включить эти отношения в саму модель.

Блог модели JSON:

{ 
    "id": 1,
    "name": "foo",
    "links": {
        "authors": "/api/blogs/1/authors"
    }
}

Блог модели Ember:

export default DS.Model.extend({
    name: DS.attr('string'),
    authors: DS.hasMany('author'),
});

Это пример модели блога с отношением hasMany к авторам.Когда это загружается в данные ember, ember теперь будет использовать этот маршрут вместо попытки вызвать отношения по одному или с помощью запроса «ids» (в зависимости от конфигурации вашего сериализатора)

Это также будет вызываться, когдапытаясь использовать в шаблоне.

Обычно я нахожу это лучше, чем использование пользовательских методов на моделях.Я прибегаю к этому только тогда, когда у меня тоже есть.Лучше работать с данными Ember, чем с ними.

Ресурсы:

...