1

私は Robotlegs を初めて使用し、最初のステップに多少苦労しています。ロープを学ぶために、Joel Hooks の紹介の最初の部分に従いましたが、現在、RL2 で同じものを作成しようとしています。

私の現在の質問/問題は次のとおりです。

  • Context で startup() を置き換えたメソッドはどれですか
  • Context では、「mediatorMap」だけを使用することはできなくなりました。これには MediatorMap インスタンスを作成する必要がありますか?
  • 数少ない RL2 の例では、多くの開発者が IConfig を使用してメインのコンテキストを構成しています。これは必須ですか、適切な規則ですか、それともオプションですか。
  • ..そして、どのようにして、コンテキストはこれによって「構成」されますか?

私は一日の大半を解決策を探すことに費やしました。明らかなことを見逃していたら申し訳ありません。扇動をよろしくお願いします。

メインクラスの一部 (mxml)

xmlns:context="contexts.*"
    <fx:Declarations>
        <rl:ContextBuilder>
            <context:HelloWorldContext/>
        </rl:ContextBuilder>
</fx:Declarations>  

および(非コンパイル)コンテキスト .as

public class HelloWorldContext extends Context
{       
    public function HelloWorldContext()
    {
        this.install(MVCSBundle);
        this.configure(HelloWorldConfig);

        mediatorMap.map(ButtonView).toMediator(ButtonMediator); // Error: mediatorMap not defined
    }
}
4

1 に答える 1

2

コンテキストで startup() を置き換えたメソッドはどれですか

を使用して、使用context.installする拡張機能をインストールします。最も一般的なのはMVCSBundle. 引数とともに使用すると、コンテキストの初期化が開始さcontext.configureれます。(new ContextView)

「mediatorMap」だけを使用することはできなくなりました。これには MediatorMap インスタンスを作成する必要がありますか? 構成のように、必要な場所に IMediatorMap を注入できます。

[Inject]
public var mediatorMap:IMediatorMap;

[Inject]
public var commandMap:ISignalCommandMap;

数少ない RL2 の例では、多くの開発者が IConfig を使用してメインのコンテキストを構成しています。これは必須ですか、適切な規則ですか、それともオプションですか。..そして、どのようにして、コンテキストはこれによって「構成」されますか? 独自の構成を作成できます。通常、そこにコマンド、メディエーター、インジェクションをマッピングします。これらすべてのものを呼び出す [PostConstruct] メソッドを 1 つ作成します。

config 内に IConfig を実装する場合、[PostConstruct] タグは必要ありません。依存関係が注入されると、robotlegs が configure 関数を自動的に呼び出すためです。

    [PostConstruct]
    public function init():void {

        context.logLevel = LogLevel.DEBUG;
//        injector.fallbackProvider = new DefaultFallbackProvider();

        mapSignalCommands();
        mapMediators();
        mapInjection();

        context.afterInitializing(afterInit);

    }

あなたの場合、あなたは持っているでしょう

_context:IContext;
public function MainApp()
{
    _context = new Context();
    _context.install(MVCSBundle);
    _context.configure(HelloWorldConfig,new ContextView(this));

        }

メディエーターは mapMediators(); の構成に移動します。

于 2013-10-14T12:44:19.227 に答える