![]() |
Как передать параметр в общую функцию события
Есть код:
Код:
function loadLibrary(name,path) { |
Вы знаете, что такое поля класса? Если в один момент времени может грузится только одна либа, то используйте поле класса для хранения данных. Если нет, то напишите наследника Loader с необходимыми полями и грузите через него. Соответственно, при получении события, можно сослаться на target и получить необходимые данные. Либо написать делегата:
Код:
function resizeHandler(event:Event, ...rest):void { |
Delegate работает как надо.
2 _etc огромное спасибо. |
Мне тоже Delegate очень помог.
>Хотя этот вариант не очень хорош. А в чем его недостатки? |
В том, что отписаться от такого обработчика сложно. Это как минимум.
|
ну например можно написать класс типа
Код:
//ChangeDateEvent.as |
расширять класс Event своим классом и передавать всё что нужно
|
Я тоже раньше думал что кастомные события покрывают весь спектор возможных случаев, пока не столкнулся с необходимостью передавать параметр.
|
Цитата:
У меня никогда не возникало ситуации, когда нужен подобный делегат. Snut, геттер и сеттер в событии не нужен, нужна обычная публичная переменная (кроме случаев, когда нужно сделать возможность указания значения только в конструкторе, тогда пишется только геттер). А ещё надо описывать метод clone(), иначе при всплытии события придёт не то событие, которое ожидаешь. |
Код:
package {Код:
l.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event){ |
| Часовой пояс GMT +4, время: 15:18. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.