我在flex中遇到了一個問題,它引起了一些頭痛!在Flex中使用相同地址創建的兩個對象
我正在將對象添加到ArrayCollection中,但這樣做,即使沒有發生綁定,另一個ArrayCollection也正在拾取這些更改。
我可以從調試中看到兩個AC具有相同的地址,但對於我的生活無法弄清楚爲什麼。
我有兩個數組集合:
model.index.rows //The main array collection
model.index.holdRows //The array collection that imitates the above
這幻象數據綁定只發生在循環中的第一次迭代中,對於所有其他它只是寫了一次。
這被證明是麻煩的原因是它會在我的數據網格中創建重複的條目。
public override function handleMessage(message:IMessage):void
{
super.handleMessage(message);
if (message is IndexResponse)
{
var response:IndexResponse = message as IndexResponse;
model.index.rows.removeAll();
model.index.indexIsEmpty = response.nullIndex;
if (model.index.indexIsEmpty !== true)
{
//Update the index model from the response. Note: each property of the row object will be shown in the UI as a column in the grid
response.index.forEach(function(entry:EntryData, i:int, a:Array):void
{
var row:Object = { fileID: entry.fileID, dadName: entry.dadName };
entry.tags.forEach(function(tag:Tag, i:int, a:Array):void
{
row[tag.name] = tag.value;
});
model.index.rows.addItem(row);
});
if(model.index.indexForNetworkView == true){
model.index.holdRows.source = model.index.holdRows.source.concat(model.index.rows.source);
model.index.indexCounter++;
model.index.indexForNetworkView = false;
controller.indexController.showNetwork(model.index.indexCounter);
}
model.index.rows.refresh();
controller.networkController.show();
}
}
有沒有其他人遇到過類似simillar提出的解決方案?
非常感謝你的幫助! – James 2010-05-20 10:48:19
沒問題,幾個月前有同樣的問題,你可以看到也在這裏解決:) – Ladislav 2010-05-20 11:01:45