我在我的模型中有一些值存儲。我需要創建這些值的副本,進行一些更改,然後輸出這些更改而不影響模型值。Adobe Flex ActionScript防止模型污染
var my_source:Array = model.something.source
var output:Array = new Array();
for each (var vo:my_vo in my_source) {
if (vo.id == 1) {
vo.name = 'Foo';
output.push(vo);
}
else if (vo.id == 21) {
vo.name = 'Bar';
output.push(vo);
}
}
return output;
因此,這工作正常,除了循環通過my_source時所做的任何更改似乎也影響model.something。爲什麼更改my_source數組會影響模型?我如何防止這種情況發生?
對於'ObjectUtil.copy()'+1。打敗我的串行器/解串器方法:) – 2011-03-30 01:59:41
@布萊恩,這是一個好主意。你的序列化程序本質上就是ObjectUtil.copy所做的:) – 2011-03-30 14:24:19