Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Подскажите более гуманный способ достучаться до рута (http://www.flasher.ru/forum/showthread.php?t=116447)

MyChemic 30.09.2008 23:17

Подскажите более гуманный способ достучаться до рута
 
Добрый вечер, допустим в application'е есть такая структура (просто банальный пример):

Код:

<mx:Canvas>
<mx:Canvas>
<mx:Canvas>
<mx:Canvas>
<local:MyComponent />
</mx:Canvas>
</mx:Canvas>
</mx:Canvas>
</mx:Canvas>

в своем компоненте кощу достучаться до рута. Обычно я пишу:

Код:

var _this:Object = this.parent.parent.parent.parent;
но таким образом мне приходится пристально считать вложенность, при наборе кода мне подсветился аттрибут root, но при попытке его использовать я получаю null, а как быстро достучаться до рута, не имея представления о вложенности? Дело в том, что в руте хранятся знечения переменных, которые инициализируются при старте и впоследствии нужны на разных этапах исполнения программы. Заранее благодарю

fljot 30.09.2008 23:27

где вы получили null?

а ещё полезно знать свойства UIComponent .parentApplication, .parentDocument

MyChemic 30.09.2008 23:52

когда трейсил, тогда и получил. заменил строчку кода на
Код:

var _this:Object = this.root;
trace(_this);


MyChemic 30.09.2008 23:59

да, эти 2 свойства - то, что надо. спасибо

etc 01.10.2008 00:00

Самое гуманное — вообще не лезть в рут.

CrazyFlasher 01.10.2008 11:25

даёте в application id компоненту и доступаться до него можно откуда угодно так:
Код:

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

Bruiser 01.10.2008 12:45

Код:

this.parentApplication

NePridymal 01.10.2008 14:19

Хранить значения переменных в UI-ном классе, да еще и в руте - зло! Сделайте не ui отдельный класс для хранения переменных, для того чтобы было видно из всех мест в апликухе используйте синглтон например.

MyChemic 01.10.2008 20:34

Цитата:

Сообщение от NePridymal (Сообщение 767497)
Хранить значения переменных в UI-ном классе, да еще и в руте - зло! Сделайте не ui отдельный класс для хранения переменных, для того чтобы было видно из всех мест в апликухе используйте синглтон например.

не совсем понял вас, можно подробнее?)

Diestro 02.10.2008 11:32

http://yarovoy.com/2007/10/24/single...ctionscript_3/


Часовой пояс GMT +4, время: 03:22.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.