2015-06-09 45 views
0

我有這樣的功能:插入外部參數的map函數與Ember

this.get('model').map(function(item){ 
      if(item.get('isSelected')){ 
       item.set('selectedClass', 'conversation-history'); 
      } 
     }); 

我會想做什麼:

this.get('model').map(function(item){ 
      if(item.get('id') == this.get('selectedConvId')){ 
       item.set('selectedClass', 'conversation-history'); 
      } 
     }); 

這告訴我this.get不是一個函數,和我理解爲什麼,我不在相同的範圍內。但是我怎樣才能在map函數中引入一個外部參數呢?謝謝

回答

0

使用可變var self = this;var selectedConvId = this.get('selectedConvId');

您例如

var self = this; 
this.get('model').map(function(item){ 
    if(item.get('id') == self.get('selectedConvId')){ 
    item.set('selectedClass', 'conversation-history'); 
    } 
}); 
0

另外,我建議你使用Ember.set或Ember.get。它也適用於Ember對象和純javascript對象。