2017-02-13 12 views
0

У меня есть объект, который feedhasManyfeedTracks, каждый feedTrack имеет track, связанные с ним.Вычисляется свойство имеет много от возвращения неопределенного - Ember

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

на модели корма у меня есть:

secondFeedTrack: computed('feedTracks.[]', function() { 
    return this.get('feedTracks').then((feedTracks) => { 
    return feedTracks.objectAt(1); 
    }); 
}) 

когда я делаю {{log feed.secondFeedTrack}} я получаю:

Object { _id: 136, _label: undefined, _state: undefined, _result: undefined, _subscribers: Array[0] } 

, которые не ничего, но это не выглядит правильно.

когда я делаю {{log feed.secondFeedTrack.track}} я получаю undefined.

Что я делаю неправильно, чтобы не получить feedTrack от вычисленного объекта?

ответ

1

Проблема заключается в том, что Ember Data возвращает PromiseObject и PromiseArrays для методов хранения, но так как вы являетесь .then с обещанием (async hasMany), он превращается в обычное обещание.

Если вы облегчите его:

secondFeedTrack: computed('feedTracks.[]', function() { 
    return this.get('feedTracks').objectAt(1); 
    }); 
}) 

Он должен работать, так как она должна обновляться по мере отношения решает.