Показать сообщение отдельно
Старый 08.11.2010, 20:47
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 2  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Сама идея простая: отделить код (AS) от разметки (mxml). Как это сделать?
Способ 1. Создается базовый as класс (например MyComponentBase.as), который наследуется от класса, который вы бы использовали как базовый для mxml-компонента. mxml-компонент (MyComponent.mxml), в свою очередь, создается на базе MyComponent.as. В mxml-компоненте расставляются необходимые контролы. Все контролы, которые используются в коде, должны иметь id. В базовом классе (MyComponentBase.as) для этих контролов создаются публичные переменные соответсвующего типа. Весь код пишется в myComponentBase.as.
Способ 2. Создается as класс (от чего наследоваться неважно, хоть вообще не от чего не наследоваться) MyComponentMediator.as (например), который в конструктор принимает в качестве параметра ссылку на экземпляр MyComponent.mxml. По событию creationComplete (например) в MyComponent.mxml, создаете экземпляр MyComponentMediator.as и в конструктор передаете ссылку на свой компонент:
Код AS3:
private var _mediator:MyComponentMediator = new MyComponentMediator(this);
Весь код пишется в MyComponentMediator.as обращение к контролам осуществляется через ссылку на экземпяр MyComponent.