У меня есть приложение с экраном входа в систему.Когда пользователь нажимает «enter», состояние изменяется на «login», и дочерний компонент запускается для загрузки (хотя дочерний элемент остается невидимым в данный момент).Ребенок содержит много функций, которые нужны пользователю при входе в систему (т. Е. Его имя экрана и настройки извлекаются из базы данных).Следующее включено в 'Parent':
<local:comp id="localComp" includeIn="login" includeInLayout="false" visible="false"/>
<mx:Button label="login" click="currentState='login'"/>
<mx:Button label="logout" click="currentState='Default'"/>
Моя проблема заключается в том, что пользователь выходит из системы (состояние изменяется на «Default») и затем снова входит в систему (состояние изменяется на «login») дочернего элементане запускается снова, а функции с дочерним элементом не перезагружаются.Есть ли способ заставить моего ребенка освежиться?
Примечание. Хотя было бы проще просто перенести дочерние функции в родительскую, это сложно ... Я переместил эти функции в дочернюю, чтобы было легче следовать
ОБНОВЛЕНИЕ: Ядаже попытался добавить «exitState» в мое состояние:
<s:State name="login" exitState="removeElement(localComp)" />
Это тоже не работает, так как я получаю сообщение об ошибке: «RangeError: Index 0 находится вне диапазона».
ОБНОВЛЕНИЕ: даже если вам разрешено вызывать дочернюю функцию от родителя, моя проблема заключается в том, что ребенок должен быть «создан», чтобы не отображать ошибки.Мне не имеет смысла, почему гибкая команда сделала бы что-то вроде удаления и добавления детей настолько сложным.