2017-02-13 59 views
0

我有一个feed对象,hasManyfeedTracks,每个feedTrack都有与之相关联的track计算性能 - 灰烬

这些关系可以成功运行,但是当我尝试使用计算属性时,某些内容会中断。

对饲料模型

我有:

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,但自从您承诺(async hasMany)以来,它就变成了常规承诺。

如果你把它简化为:

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

它应该工作,因为它应该更新的关系解析。