Flex компонент для доступа к другому компоненту - PullRequest
0 голосов
/ 18 декабря 2008

Например, у меня есть 2 компонента (editor.mxml с использованием mx: windows), когда я нажимаю кнопку редактирования, я хочу получить текущее значение из поля данных другого компонента? (datagrid.mxml, используя mx: window)

Я знаю, как получить доступ к основной таблице данных MXML с помощью метода parentDocument или Application.application, но заблокировать блок, если я хочу получить доступ другим способом, как упомянуто выше. Сохраняйте код как можно более простым.

Ответы [ 4 ]

1 голос
/ 19 декабря 2008

Вы можете либо сделать внедрение зависимостей , то есть дать компоненту A ссылку на компонент B, чтобы они могли связываться напрямую (пример более тесной связи), либо оба компонента связывались через распространенный посредник с использованием событий (пример более слабой связи.)

Обе эти опции будут реализованы там, где вы создаете эти компоненты (A и B в этом примере) и добавляете их в список отображения.

0 голосов
/ 18 октября 2012

Вы также можете добавить идентификатор для пользовательского компонента, как это,

<custom:Editor id="myCustomComponent">

  </Editor:AddressForm>

и

получить доступ к значению вашей таблицы данных, как это,

var data:ArrayCollection = myCustomComponent.DatagridID.dataProvider;
0 голосов
/ 12 ноября 2010

Попробуйте это:

FlexGlobals.topLevelApplication

Это указывает на ваш корень. Из корня Вы можете получить любой элемент, который хотите.

0 голосов
/ 21 февраля 2009

Это может быть сложнее, чем оно того заслуживает, и оно похоже на Pattern-Fever, но вы можете использовать класс-посредник, который прослушивает событие CLICK от кнопки и знает достаточно о другом компоненте, чтобы запросить его свойство. Он может даже передавать эти данные, используя пользовательское событие, которое прослушивает кнопка.

Хотя в нем участвуют три класса вместо двух, часто оказывается проще иметь два компонента, которые ориентированы на хороший внешний вид, и один, который беспокоится о координации.

Приветствия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...