2017-02-13 60 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); 
    }); 
}) 

它應該工作,因爲它應該更新的關係解析。