2012-03-13 6 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には、trueの場合はディープコピーが作成されますが、明らかにまだ実装されていないことを示すブール型パラメータが必要です。独自の方法でいつでも上書きすることができます。このような何か単純なオブジェクトのために働くだろうに(ノート:テストされていないので、この擬似コードを考える)

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