首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从模型中分派事件

无法从模型中分派事件
EN

Stack Overflow用户
提问于 2011-11-08 14:56:42
回答 2查看 726关注 0票数 0

使用robot腿,我总是检索这个错误。我不知道出了什么问题。

TypeError:错误#1009:无法访问空对象引用的属性或方法。在org.robotlegs.mvcs::Actor/dispatch()/Users/shaun/Documents/ Development/Workspaces/GanymedeFB4/robotlegs-framework/src/org/ robot腿/mvcs/Actor.as:57

模型

代码语言:javascript
复制
package com.something.model {
    // someimports
    public class PhotoModel extends Actor {

        public function uploadAndDetect() : void {  
            // something        
            dispatch(new DetectEvent(DetectEvent.DETECTED));                
        }

    }
}

事件

代码语言:javascript
复制
package com.something.events {
    // someimports

    public class DetectEvent extends Event {
        public static const DETECTED : String = "DETECTED";


        public function DetectEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false){
            super(type, bubbles, cancelable);
        }

        override public function clone():Event{
            return new DetectEvent(type, bubbles, cancelable);
        }
    }
}
EN

回答 2

Stack Overflow用户

发布于 2011-11-08 15:30:06

我不能很好地阅读德语,无法确定,但我怀疑问题是,您的模型没有被注入事件总线(IEventDispatcher共享了几乎所有Robot腿需要与之通信的东西)。

你是如何实例化这个的?你是从单元测试中运行这个的吗?如果是这样,您需要在您的模型上设置eventDispatcher。如果不是,您需要使用mapClass、mapSingleton或mapSingletonOf来确保您的模型实例化了它需要作为一个Actor工作的东西。

票数 2
EN

Stack Overflow用户

发布于 2012-04-04 18:26:09

何时何地创建模型?我敢打赌,您没有注入它的依赖项。应该在命令和使用中创建模型:

代码语言:javascript
复制
var model: PhotoModel = new PhotoModel();
injector.injectInto(model);

然后应该注入eventDispatcher (Actor的唯一依赖项)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8052370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档