2015-10-02 150 views
2

想象一下,我有一個包含2個屬性的組件: 如何根據localID屬性和Ember.computed.filterBy宏創建計算屬性?Ember如何將變量傳遞給Ember.computed.filterBy

localID: 2, 

data: [ 
{ 
    id:1, 
    values: [1,2,3] 
}, 
{ 
    id:2, 
    values: [4,5,6] 
}, 
{ 
    id:3, 
    values: [7,8,9] 
}], 

我曾嘗試:

filteredData: Ember.computed.filterBy('data', 'id', 'localID') // localID gets treated as a string 

filteredData: Ember.computed.filterBy('data', 'id', localID) // localID not defined 

filteredData: Ember.computed.filterBy('data', 'id', this.get('localID')) // 'this' not valid in this context.. 

filteredData: Ember.computed.filterBy('data', 'id', ${localID}) // etc.. 

似乎沒有任何工作。當然,如果我輸入靜態值,我有它的工作原理,但我希望它引用在這種情況下LOCALID,因爲它的其他財產將從控制器傳遞。

感謝您的幫助..

回答

1

重寫你的財產

filteredData: function() { 
    return this.get('data').filterBy('id', this.get('localID')); 
}.property('[email protected]')