2012-03-13 31 views

回答

3

目前,這是一個進步回事灰燼,由@adamjmurray報道:https://github.com/emberjs/ember.js/issues/588

還有一個命題執行它。你可以這樣使用它:

var NativeArray = Ember.Mixin.create(Ember.NativeArray, { 
    copy: function(deep) { 
     if (deep) { 
      return this.map(function(item){ return Ember.copy(item, true) }); 
     } else { 
      return this.slice(); 
     } 
    } 
}); 

NativeArray.apply(Array.prototype); 
2

Ember.Copyable的評論意見指出,應該有一個布爾參數,如果屬實,將產生一個深拷貝,但顯然,這還沒有實現。您可以隨時用自己的方法覆蓋它。像這樣的東西會爲簡單對象(:未經測試,以便考慮這個僞代碼)工作

copy: function(deep) { 
    if(deep) return $.extend(true, [], this); 
    else return this._super(); 
}