Использование функций, определенных в других файлах MXML - PullRequest
1 голос
/ 12 мая 2009

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

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

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

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

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

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

Kwaak

Ответы [ 2 ]

1 голос
/ 13 мая 2009

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

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

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

0 голосов
/ 12 мая 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);" />
...