Как правильно реализовать dispatchEvent для bindable свойств в кастомном классе?

19 views
Skip to first unread message

Вадим

unread,
Sep 26, 2008, 4:59:20 AM9/26/08
to belarusian-adobe-flas...@googlegroups.com
Требуется сделать bindable property в PureMVC
медиаторе, у которого в цепочке
наследования нет EventDispatcher.
Если биндинг работает через явный
dispatchEvent, то как такой функционал
организовать в кастомном классе?
Мне нужно реализовать IEventDispatcher или это
обязательно — явно наследоваться от
EventDispatcher?

Подскажите, пожалуйста, как *правильно*
реализовать биндинги из кастомного
класса, но не визуального компонента?
Как это по умолчанию делает сам
компилятор?

Спасибо,
— МН

Maxim Rozdobudko

unread,
Sep 26, 2008, 5:41:28 AM9/26/08
to belarusian-adobe-flas...@googlegroups.com
Привет, насколько я понимаю если пометить поле [Bindable], после конвертации mxml->as класс с этим полем уже реализует интерфейс IEventDispatcher, а помеченое поле становится свойством (get/set).

Вадим

unread,
Sep 26, 2008, 6:06:11 AM9/26/08
to belarusian-adobe-flas...@googlegroups.com
Содержимое тэга Script переносится в
конечный AS в первозданном виде.
Т. е. если, например, указать при
компиляции опцию -keep-generated-actionscript=true, в
полученном из MXML файле AS переменная с
метаданными [Bindable] описана точь-в-точь
как и в MXML.

Т. о., компилятор ничего не реализует.
Вопрос открыт :)

akme

unread,
Sep 26, 2008, 7:58:04 AM9/26/08
to Belarusian Adobe Flash Platform User Group

чтобы реализовать интерфейс IEventDispatcher,
не обязательно наследоваться от EventDispatcher
можно использовать composition

например как тут http://www.gskinner.com/blog/archives/2007/07/building_a_stat_1.html


On 26 сент, 11:59, Вадим <mozilla...@gmail.com> wrote:
> Требуется сделать bindable property в PureMVC
> медиаторе, у которого в цепочке
> наследования нет EventDispatcher.
> Если биндинг работает через явный
> dispatchEvent, то как такой функционал
> организовать в кастомном классе?
> Мне нужно реализовать IEventDispatcher или это
> обязательно -- явно наследоваться от
> EventDispatcher?
>
> Подскажите, пожалуйста, как *правильно*
> реализовать биндинги из кастомного
> класса, но не визуального компонента?
> Как это по умолчанию делает сам
> компилятор?
>
> Спасибо,
> -- МН
Message has been deleted

akme

unread,
Sep 26, 2008, 8:05:25 AM9/26/08
to Belarusian Adobe® Flash® Platform User Group
извиняйте

http://www.google.com/search?client=opera&rls=be&q=flex+data+binding+eventdispatcher&sourceid=opera&ie=utf-8&oe=utf-8

On 26 сент, 15:01, akme <akme...@gmail.com> wrote:
> > Подскажите, пожалуйста, как *правильно*  
> > реализовать биндинги из кастомного  
> > класса, но не визуального компонента?
> > Как это по умолчанию делает сам  
> > компилятор?
>
> учимся пользоваться гуглом :)
>
> http://www.google.com/search?client=opera&rls=be&q=using+EventDispatc...
>
> первая ссылка на презентацию по темеhttp://www.slideshare.net/michael.labriola/diving-in-the-flex-data-bi...

Вадим

unread,
Sep 26, 2008, 8:07:31 AM9/26/08
to belarusian-adobe-flas...@googlegroups.com
Спасибо. Я так и сделал изначально, но Скиннер всё равно гений :)

/me добавляет в код модификаторы protected и static

Вадим

unread,
Sep 26, 2008, 8:15:26 AM9/26/08
to belarusian-adobe-flas...@googlegroups.com
OK )
Просто меня интересовали best practices именно в связи с биндингами.

On 26.09.2008, at 15:01, akme wrote:

>> Подскажите, пожалуйста, как *правильно*
>> реализовать биндинги из кастомного
>> класса, но не визуального компонента?
>> Как это по умолчанию делает сам
>> компилятор?
>
> учимся пользоваться гуглом :)
>
> http://www.google.com/search?client=opera&rls=be&q=using+EventDispatcher+as+3&sourceid=opera&ie=utf-8&oe=utf-8
>
> первая ссылка на презентацию по теме
> http://www.slideshare.net/michael.labriola/diving-in-the-flex-data-binding-waters-presentation?src=embed
> >

Reply all
Reply to author
Forward
0 new messages