диспетчер не работает - PullRequest
       1

диспетчер не работает

0 голосов
/ 15 декабря 2010

У меня странная проблема:

Я назначил следующую переменную:

public static const SERIES:String = "series";

Тогда в том же классе у меня есть следующая функция:

public function imgCompleteHandler(e:Event):void {
            var slidesXML:XML = new XML(e.target.data);
            for each (var serie:XML in slidesXML.slide){
                this.thumbs = serie.image;
                series.push(serie);
            }
                        trace("before");    
            dispatchEvent(new Event(SERIES));
                        trace("after");
        }

Это класс, где событие называется:

package be.devine3.groep6.view.components.overview
{
    import be.devine3.groep6.model.AppModel;
    import be.devine3.groep6.view.components.series.Series;
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.events.Event;

    public class SerieOverview extends Sprite
    {
        private var loader:Loader;
        private var appModel:AppModel;
        public function SerieOverview()
        {
            this.appModel = AppModel.getInstance();

            appModel.addEventListener(AppModel.SERIES, seriesLoadedHandler);
        }
        public function seriesLoadedHandler(e:Event):void{
            for each (var slideModel:XML in appModel.series) {
                var serie:Series = new Series(slideModel);
                addChild(serie);
            }
            }


    }
}

Теперь по какой-то причине событие не отправляется, запускаются трассы, которые я поместил до и после события отправки. Кто-нибудь знает, почему событие отправки не работает?

Ответы [ 2 ]

0 голосов
/ 16 декабря 2010

Является ли метод AppModel getInstance () также инициализирующим класс AppModel?Если это так, то событие, скорее всего, отправляется до того, как вы добавите прослушиватель событий.

Я всегда использую этот поток:

1) Создать экземпляр класса

2) Присоединить событие инициализацииlisteners

3) Вызвать открытый метод init () (т. е. AppModel.instance (). init ();)

0 голосов
/ 15 декабря 2010

Трудно найти проблему по указанному вами коду. Простая проверка: убедитесь, что вы добавляете обработчик событий ДО того, как событие будет отправлено. Добавьте трассировку в метод, в который вы добавляете прослушиватель, чтобы убедиться, что он установлен перед отправкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...