2013-02-19 41 views
0

我是Sencha Touch開發新手,嘗試開發使用它的應用程序。我一直在閱讀它的文檔和例子。我想知道什麼是基於以下方案啓動應用程序的最佳方法。SenchaTouch 2 - 使用導航視圖

LoginView以啓動應用程序,然後導航視圖。

我正在努力弄清楚是否使用NavigationView或Card(用於登錄)+導航視圖(用於休息)或任何其他方法。

如果我從NavigationView開始,然後返回按鈕出現在頂部,我不想在第二個視圖上顯示。不知道如何隱藏它,所以我可以使用類似卡片(用於登錄)+導航視圖。

幫助表示讚賞。

+0

這可能隱藏後退按鈕navigationView.getNavigationBar()。getBackButton()。hide(); – blessenm 2013-02-20 08:06:58

+0

只需創建導航視圖,然後檢查是否需要登錄屏幕。如果你需要一個,那麼就在導航視圖的頂部創建一個全屏面板(使用css z-index)。然後,當用戶登錄時,只需讓這些面板消失並銷燬即可。 – 2013-02-20 15:07:58

回答

1

創建一個登錄視圖。

從您的登錄視圖執行您的ajax請求。

如果登錄成功,那麼你可以做這樣的事情:

Ext.Viewport.animateActiveItem(Ext.Viewport.getComponent('mainPanel'), { type: 'slide'}); 

這將動畫的mainPanel中,並將其滑入視圖。假設你的'mainPanel'是你的導航視圖。導航視圖將從其默認位置開始,沒有後退按鈕。您現在可以將視圖推送到您的導航視圖中。

從控制器:

config: { 
    refs: { 
     mainPanel: 'main' 
    }, 

    control: { 
     "list": { 
      itemtap: 'onListItemTap' 
     } 
    } 
}, 

onListItemTap: function(dataview, index, target, record, e, options) { 
    var myNewView = Ext.create('MyApp.view.Testview'); 
    this.getMainPanel().push(myNewView); 
} 

以後,如果你需要,你可以隨時切換回您的登錄視圖:

Ext.Viewport.setActiveItem(0); 

Ext.Viewport.setActiveItem(Ext.Viewport.getComponent('MyLoginpanel'))