Прямо сейчас у меня есть компонент Accordion во Flex, у которого есть два дочерних элемента. Я хочу дать дочерним элементам ссылку на мою модель приложения, когда они завершат свою реализацию (после изменения индекса аккордеона).
Следующая запись для меня не работает, потому что экземпляры создаются после запуска события (метод accordionChange):
<mx:Accordion change="accordionChange(event)" > ...
Итак, в данный момент я добавляю creationComplete к каждому дочернему элементу Accordion, который затем назначит ссылку на модель:
<?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. Я был бы признателен за любые советы относительно того, как мне следует это делать, мне кажется, это повторяющийся шаблон.
Спасибо