現在我在Flex中有一個Accordion組件,它有兩個孩子,我想在完成實例化(在手風琴改變索引之後)時給孩子們引用我的應用程序模型。我在Flex中更新Accordion兒童的正確方法是什麼?
以下符號失敗,因爲該事件被觸發(accordionChange方法)後的孩子被實例化:
<mx:Accordion change="accordionChange(event)" > ...
所以我已經現在做的是一個creationComplete添加到每個手風琴的孩子,這將然後分配模型參考:
<?xml version="1.0" encoding="utf-8"?>
<pod:InspectorClass xmlns:pod="pod.*" xmlns:mx="http://www.adobe.com/2006/mxml" >
<mx:Accordion id="accordion" color="0x323232" width="100%" height="100%">
<mx:VBox label="Card Front" creationComplete="setChildModel()" >
<pod:FaceInspector id="frontFaceInspector"/>
</mx:VBox>
<mx:VBox label="Card Back" creationComplete="setChildModel()" >
<pod:FaceInspector id="backFaceInspector"/>
...
我的「代碼背後」類InspectorClass包含類似如下的方法:
public function setChildModel():void
{
if (accordion.selectedIndex == 0)
{
frontFaceInspector.setModel(model);
}
else if (accordion.selectedIndex == 1)
{
backFaceInspector.setModel(model);
}
}
這讓我覺得笨拙,就像我錯過了Flex的一些關鍵部分。我很感激任何關於我應該怎麼做的建議,這似乎是對我來說重複出現的模式。
感謝,