2013-03-20 106 views
0

我期待例如使用代碼分裂與杜松子酒和SmartGWT的...SmartGWT的+杜松子酒代碼分割

在我的簡單應用程序,我有2個模塊AutoLoadModuleWindowModule。在我簡單的應用程序中,我只需要點擊某個按鈕時加載一個窗口。

我的窗口模塊包括:

@Override 
protected void configure() { 
    bind(MainWindow.class).in(Singleton.class); 

} 

和我MainWindow

@Singleton 
public class MainWindow extends Window implements SessionStatusChangedEvent.Handler { 

    private final XmppSession session; 

    @Inject 
    private MainWindow(XmppSession session) { 

     Log.debug("Constructor ImMainWindow... !"); 

     this.session = session; 
     initComponent(); 
    } 
    .................... 

在我AutoLoadModule我已經綁定AutoLoadasEagerSingleton();

@Override 
    protected void configure() { 
    bind(StartButton.class).toProvider(StartChatButtonProvider.class); 
     bind(AutoLoader.class).asEagerSingleton(); 

    } 

AutoLoader類:

​​

它可以加載使用代碼分割窗口例如,當窗口處於WindowModule?在我的示例應用程序中,我需要使用代碼拆分按需加載窗口,並且該窗口必須位於杜松子酒模塊中。

回答

1

不知道你想拆分你的代碼的地方,但使用杜松子酒,你可以利用AsyncProviders,讓git來分割你的代碼。

@Inject 
protected AutoLoader(
     final XmppConnection connection, 
     final XmppSession session, 
     final StartButton startButton, 
     final AsyncProvider<MainWindow> mainProvider) { 

    ... 

    @Override 
    public final void execute() { 
    startButton.addClickHandler(new ClickHandler() { 
     @Override 
     public void onClick(ClickEvent event) { 

     // Here Gin would split the code 
     mainProvider.get(new AsyncCallback<MainWindow>() { 
      public void onSuccess(MainWindow main) { 
      ... 
      } 
     } 

     } 
    }); 
    } 
+0

我想我的代碼分成時startButton點擊 – 2013-03-20 14:15:38

+1

什麼是你想要的按鈕處理程序中執行代碼'AutoLoader'類?你可以在這裏加載代碼的哪些部分? – 2013-03-20 14:37:46

+0

當按鈕被點擊時,我需要加載MainWindow組件代碼 – 2013-03-20 14:42:44

相關問題