![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 41
|
Здравствуйте!
![]() Столкнулся с проблемой вызова функций и обращения к переменным основного приложения из pop-up окна. Проблема заключается в том, что не получается это сделать В обратном порядке (обращение к переменным и функциям pop-up окна из основного приложения) - получается:в файле myPopUpWindow описана переменная: в основном приложении в файле mainApp описана другая переменная и при создании pop-up окна ее значение передается переменной в экземпляр myPopUpWindow: Вопрос в том, как из pop-up окна вызвать функцию mainAppFunction? Точнее, как создать ссылку на действующий экземпляр mainApp, чтобы получить доступ к его свойствам и методам? Последний раз редактировалось spacecadet; 26.01.2010 в 15:29. |
|
|||||
|
Ваше PopUp окно не должно знать о свойствах и методах основного приложения, и тем более изменять их. Если Вам надо передать основному приложению данные от окна, пусть оно шлёт событие (кастомное) с необходимой информацией, а основное приложение ловит.
__________________
2+2=5 |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 41
|
Смысл понятен, а можно ли пример действующего функционала?
|
|
|||||
|
Допустим так:
В основном приложении: PopUpManager.addPopUp(newPopUpWindow, this, true); PopUpManager.centerPopUp(newPopUpWindow); newPopUpWindow.addEventListener(MyDataEvent.UPDATE, handleMyDataUpdate); ... private function handleMyDataUpdate(event:MyDataEvent):void { var myData:Object = event.myData; ... } package view.events { import flash.events.Event; public class MyDataEvent extends Event { public static const UPDATE:String = "dataUpdate"; private var _myData:Object; public function MyDataEvent(type:String, myData:Object) { super(type, true); _myData = myData; } public function get myData():Object { return _myData; } override public function clone():Event { return new MyDataEvent(type, myData); } } } Писал на коленке, но вроде всё должно работать.
__________________
2+2=5 |
|
|||||
|
Цитата:
|
|
|||||
|
Регистрация: Dec 2009
Сообщений: 41
|
- да, так вызов искомой функции происходит. Но как я понимаю этот способ не является комильфо? Лучше организовать эвенты? Или это все же дело вкуса?
Добавлено через 2 часа 20 минут К сожалению, parentDocument всегда указывает на самого первого родителя, и если необходимо организовать обмен между popup и его дочерним popup - то parentDocument не помогает. Таким образом использую симбиоз методов BeDLiNt'а и Кип'а. Спасибо вам большое, за помощь и отзывчивость! Первый форум за всю мою жизнь, на котором участники-профессионалы действительно ПОМОГАЮТ новичкам и нубам, а не посылают их на гугол, строя из себя крутых супер-интеллектуалов! ![]() Последний раз редактировалось spacecadet; 26.01.2010 в 17:35. |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:59. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|