0

robotlegsを使用して、私は常にこのエラーを取得します。何が悪いのかわかりません。

TypeError:エラー#1009:nullオブジェクト参照のプロパティまたはメソッドにアクセスできません。org.robotlegs.mvcs :: Actor / dispatch()[/ Users / shaun / Documents / Development / Workspaces / GanymedeFB4 / robotlegs-framework / src / org / robotlegs / mvcs / Actor.as:57]

モデル

package com.something.model {
    // someimports
    public class PhotoModel extends Actor {

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

    }
}

イベント

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);
        }
    }
}
4

2 に答える 2

2

確かにドイツ語を十分に読むことはできませんが、問題は、モデルがイベント バス (IEventDispatcher は、Robotlegs が通信するために必要なほぼすべてのものによって共有されます) で注入されていないことだと思います。

これをどのようにインスタンス化していますか?これを単体テストから実行していますか? その場合、モデルに eventDispatcher を設定する必要があります。そうでない場合は、mapClass、mapSingleton、または mapSingletonOf を使用して、モデルがアクタとして機能するために必要なものでインスタンス化されるようにする必要があります。

于 2011-11-08T15:30:06.713 に答える
0

モデルはいつ、どこで作成されますか? 依存関係を注入していないに違いありません。モデルはコマンドで作成し、次を使用する必要があります。

var model: PhotoModel = new PhotoModel();
injector.injectInto(model);

そして、eventDispatcher (Actor の唯一の依存関係) を注入する必要があります。

于 2012-04-04T18:26:09.130 に答える