2013-09-06 7 views
1

내가 Robotlegs에 새로운 해요 간단한 Robotlegs 응용 프로그램을 마이그레이션, 다소 첫 걸음과 사투를 벌인. 로프를 배우려면 Joel Hooks' introduction의 첫 번째 부분을 따르고 이제 RL2에서 동일한 것을 만들려고합니다.은 (폼 1.5 ~ 2)

나의 현재 질문/문제는 다음과 같습니다 컨텍스트 나는 더 이상 그냥 "mediatorMap"사용할 수 없습니다 문맥

  • 에서 시작()를 대체하고 방법

    • ; 이를 위해서 MediatorMap 인스턴스를 생성해야합니까? 거기에 몇 RL2의 예에서
    • , 많은 DEVS는 그들의 주요 컨텍스트를 구성 할 IConfig를 사용; 이것이 필요하거나, 좋은 관례이거나, 선택 사항이다.
    • .. 그리고 방법이 통해 '구성'콘텍스트입니까?

  • 나는 솔루션을 찾고 하루의 가장 중요한 부분을 보냈다. 나는 명백한 것을 놓친다면 사과드립니다. 미리 감사드립니다. 기본 클래스

    부 (MXML)

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

    및 (비 compling) 컨텍스트 방법 컨텍스트에서 시작()으로 대체했다

    public class HelloWorldContext extends Context 
    {  
        public function HelloWorldContext() 
        { 
         this.install(MVCSBundle); 
         this.configure(HelloWorldConfig); 
    
         mediatorMap.map(ButtonView).toMediator(ButtonMediator); // Error: mediatorMap not defined 
        } 
    } 
    

    답변

    2

    을이 .as 해당 컨텍스트

    context.install을 사용하여 사용하려는 확장 프로그램을 설치하십시오. 가장 일반적인 것이 MVCSBundle입니다. context.configure(new ContextView) 인수를 사용하면 컨텍스트 초기화가 시작됩니다.

    더 이상 "mediatorMap"을 사용할 수 없습니다. 이를 위해 MediatorMap 인스턴스를 만들어야합니까? 당신이 설정처럼, 그것을 필요 어디서나 IMediatorMap 삽입 할 수 [주입한다] 공공 VAR 인젝터 : IInjector; 거기에 몇 RL2 예에서

    [Inject] 
    public var mediatorMap:IMediatorMap; 
    
    [Inject] 
    public var commandMap:ISignalCommandMap; 
    

    많은 DEVS는 그들의 주요 컨텍스트를 구성 할 IConfig를 사용; 이 이 필요합니다. 좋은 컨벤션이거나 선택 사항입니다. .. 그리고 어떤면에서 이걸 통해 컨텍스트가 '설정'되어 있습니까? 자신 만의 설정을 만들 수 있습니다. 보통 거기에 명령, 중재자 및 주사를 매핑합니다. 당신이 설정 내부 IConfig을 구현하는 경우 의존성 주입 한 후 robotlegs가 자동으로 구성 함수를 호출하기 때문에

    , 당신은 그나마 [PostConstruct의] 태그가 필요합니다 : 당신은 모든 theese 물건을 호출 한 [PostConstruct의] 방법을 만들 수 있습니다.

    귀하의 경우
    [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에 config (설정)로 전환해야합니다;