![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: May 2011
Сообщений: 26
|
Flex очень простой и понятный фреймворк, но найти информацию про некоторые особенности бывает нереально.
Столкнулся с проблемой доступа к свойству mxml компонента из основного класса приложения. Когда компонент в главном mxml - проблем нет. Доступ к его свойствам через id. Но у меня есть в проекте папочка components , а в ней mxml файлы. не работает не подходит, потому что создаётся новый пустой элемент, а мне нужен тот, который уже существует Подскажите пожалуйста возможно есть простой способ получать доступ к переменным других классов-компонентов ? |
|
|||||
|
Регистрация: Oct 2010
Сообщений: 67
|
|
|
|||||
|
Регистрация: May 2011
Сообщений: 26
|
Цитата:
пробовал получил Не понимаю я этих адобовских разработчиков. Почему не сделать простой и интуитивный доступ к свойствам через точку. Возможным решением этой проблемы могло стать пространство имён, т.е. принудительно запихнуть xmlns:local="components.*" в основной mxml , но как оно работает это пространство имён в CDATA - это тоже тайна за семью печатями, потому что после добавления этой строки переменные компонентов в папке всё равно не доступны локально. Последний раз редактировалось cheluskin; 21.06.2011 в 16:01. |
|
|||||
|
Регистрация: May 2011
Сообщений: 26
|
у меня есть папка в проекте с названием components там лежат mxml файлы, я их тоже считаю классами, потому что в конечном итоге компилятор их переводит в классы. Но достать их из Main.mxml оказалось нетривиальной задачей. Я легко получаю новый экземпляр класса через new, но нафиг он мне нужен с пустыми дефолтными значениями переменных, я хочу получить тот, который у меня сейчас.
Всё таки наверное я неправильно использую FlexGlobals.topLevelApplication, ибо он прекрасно работает, когда нужно из другого mxml получить свойство Maim.mxml, а если наоборот - нет. И это вполне можно понять. Когда я пишу интерпретатор ищет в Main.mxml компонент с названием components, а его там нет. Решение как всегда рядом, но учитывая что моменты взамодействия mxml из разных мест вообще не описаны в документации, в гугле запрос "call to another mxml" - это высокочастотник. Отдельного упоминания заслуживают мнения экспертов, которые рекомендуют не использовать логику в самих компонентах и ни одного реального ответа ! Последний раз редактировалось cheluskin; 21.06.2011 в 16:28. |
|
|||||
|
GBee дал вполне реальный ответ-вопрос.
В папочке или нет — не важно. Папочка — это пакет (package) в данном случае. Пакеты служат от организации и разделения классов. Вам же стоит искать способ достучаться до экземпляров. |
|
|||||
|
Регистрация: May 2011
Сообщений: 26
|
Цитата:
Неужели никто никогда не создавал компоненты и не использовал логику для взаимодействия ? Перерыл кучу примеров проектов с компонентами от adobe и во всех они этого никогда не делают. Это что невозможно ? Последний раз редактировалось cheluskin; 21.06.2011 в 17:33. |
|
|||||
|
Чтобы работать с компонентом его надо создать.
Цитата:
грубо говоря равно
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
|
Регистрация: May 2011
Сообщений: 26
|
Хорошо, а если предположить, что компонент уже создан и описан в mxml и лежит в пакете. Как до него достучаться ? Причём нужно получать текущие его свойства.
|
|
|||||
|
Цитата:
Может представите кусочек кода с пояснениями, чего вы хотите. Без теории, чисто практика и желания?
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:10. |
|
|
« Предыдущая тема | Следующая тема » |
|
|