Emberjsのネイティブ配列はディープコピーをサポートしていませんか?コピー方法でスライスした配列を返すだけであることが分かりました。バグですか?Emberjsのネイティブ配列はディープコピーをサポートしていませんか?
1
A
答えて
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();
}
は今すぐ固定されているようですhttps://github.com/emberjs/ember.js/issues/588 –