Использование функций, определенных в других файлах MXML

У меня есть файл Main.mxml и файл RoutePlanner.xmlm. RoutePlanner определяет настраиваемые компоненты Canvas, а Main.mxml использует этот настраиваемый компонент.

Проблема в том, что компоненты RoutePlanner содержат множество событий, таких как Click () и MouseMove () и т. Д. Однако все функции, на которые ссылаются эти события, определены в Main.mxml.

Main.mxml был огромным файлом, который я пытаюсь разделить. Я не могу просто переместить функцию из Main в пользовательские компоненты из-за используемых в функциях переменных класса.

Возможно ли include Главное в компоненте, чтобы я мог использовать методы? Или мне следует переместить все методы в файл AS и просто включить его как в основной, так и в компонент? (Это потребует немного больше работы)

Или можно создать в компоненте функции-заполнители и затем сделать эти заполнители привязываемыми, а после создания компонента в Main.mxml привязать фактические методы, определенные в Main.xml, к событиям в компоненте?

Заранее спасибо,

Кваак


person Community    schedule 12.05.2009    source источник


Ответы (2)


По мере роста сложности вашего приложения вам следует рассмотреть возможность использования инфраструктуры микроархитектуры, такой как Cairngorm или Pure MVC.

Это действительно помогает организовать ваше приложение.

Ознакомьтесь с этими введениями в Cairngorm: http://www.davidtucker.net/2008/04/01/cairngorm-videos-available-as-flv-downloads/

person robmcm    schedule 13.05.2009

Обнаружил это сам по событиям:

CustomComponent.mxml:

[Event(name="onCreateRoute", type="Event")]
...  
<mx:Button label="Plan Route" click="dispatchEvent(new Event('onCreateRoute'))"/>

Main.mxml

<custom:CustomComponent onCreateRoute="CreateRoute(event);" />
person Community    schedule 12.05.2009