Emberjs中的本地數組不支持深度複製?我看到它只是在copy方法中返回切片數組。這是一個錯誤嗎?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
的評論意見指出,應該有一個布爾參數,如果屬實,將產生一個深拷貝,但顯然,這還沒有實現。您可以隨時用自己的方法覆蓋它。像這樣的東西會爲簡單對象(注:未經測試,以便考慮這個僞代碼)工作
copy: function(deep) {
if(deep) return $.extend(true, [], this);
else return this._super();
}
現在似乎已修復https://github.com/emberjs/ember.js/issues/588 – 2016-08-01 05:50:06