现在我在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的一些关键部分。我很感激任何关于我应该怎么做的建议,这似乎是对我来说重复出现的模式。
感谢,