2012-06-13 66 views
0

我有四個獨立視圖,在單個tabview中添加這四個視圖,如下所示。setActiveItem(0)的Tabview不顯示sencha touch2中的頁面內容

標籤視圖編碼:

Ext.define("SLS.BRND.WEB.view.MainTabbarView", { 
    extend: 'Ext.tab.Panel', 
    xtype: 'MainTabbarView', 
    requires: ['Ext.data.proxy.JsonP', 'Ext.TitleBar', 'Ext.Video', 'SLS.BRND.WEB.view.GallerysView', 'SLS.BRND.WEB.view.FloorView'], 
    config: { 
     tabBarPosition: 'bottom', 
     items: [ 
      { 
       xclass: "SLS.BRND.WEB.view.GlobalNavigationView", 
       docked: "top", 
       scrollable: false 
      }, 
      { 
       xclass: 'SLS.BRND.WEB.view.ApartmentView'      
      }, 
      {    
       xclass: 'SLS.BRND.WEB.view.SpecificationView' 
      }, 
      {     
       xclass: 'SLS.BRND.WEB.view.FloorView' 
      }, 
      {     
       xclass: 'SLS.BRND.WEB.view.GallerysView' 
      } 
      ] 
    } 
}); 

在控制器onbuttontap功能我打電話上述'MainTabbarView頁面,如下所示。我已經設置setActiveItem(0);在四個中顯示第一個tabitem(xclass:'SLS.BRND.WEB.view.ApartmentView')。當我設置像這個setActiveItem(0)它將顯示第一個查看頁面,但沒有數據(空白屏幕)。如果我設置setActiveItem(1),它將顯示第二個數據視圖頁面。那麼我認爲可能是第一頁的問題,所以我已經改變了'MainTabbarView'頁面視圖的順序。再次我設置setActiveItem(0),然後它顯示活動頁面,但沒有數據。我一直在改變setActiveItem(0)到1,2,3的工作正常,還有數據顯示。 但對於setActiveItem(0)數​​據不顯示。能幫助我嗎?如何解決這個問題。謝謝

控制器代碼:

Ext.define("SLS.BRND.WEB.controller.ApartmentController", { 
    extend: "Ext.app.Controller", 
    requires: ['Ext.data.proxy.JsonP'], 
    config: { 
     refs: { 
     projectsPage: "projectspage",    
      mainTabbarView: "MainTabbarView",   
     }, 
    control: { 

      projectsPage: {    
       BtnApartments: "onAptButtonTap"    

      } 
     } 
    }, 
    onAptButtonTap: function() { 
     var ApartmentTabbar = this.getMainTabbarView(); 
     ApartmentTabbar.setActiveItem(0); 
     Ext.Viewport.animateActiveItem(ApartmentTabbar, this.slideLeftTransition); 
    }, 
    activateNotesList: function() { 
     Ext.Viewport.animateActiveItem(this.getHomepage(), this.slideRightTransition); 
    }, 
    slideRightTransition: { type: 'slide', direction: 'right' }, 
    slideDownTransition: { type: 'flip', direction: 'down' }, 
    slideLeftTransition: { type: 'fade', direction: 'left' } 

}); 
+0

您已經展示了控制器和視圖如何組合顯示5個不同的面板(全部正常工作),但並不顯示有問題的面板如何填充。關注工作導航而不是數據/商店/模型/視圖/組件 - 誰知道GlobalNavigationView是什麼? –

回答

0

onAptButtonTap功能沒有在正確的地方,你把它的配置,你應該把它的配置,像這樣經過:

... 
config: { 
    refs: { 
     projectsPage: "projectspage",    
     mainTabbarView: "MainTabbarView",   
    }, 
    control: { 
     projectsPage: {    
      BtnApartments: "onAptButtonTap" 
     } 
    }, 
    ... 
}, 
onAptButtonTap: function() { 
    var ApartmentTabbar = this.getMainTabbarView(); 
    ApartmentTabbar.setActiveItem(0); 
    Ext.Viewport.animateActiveItem(ApartmentTabbar, this.slideLeftTransition); 
}, 
... 
+0

感謝您的回覆。我發佈代碼時發生錯誤,函數不在配置中。如上面的代碼所示,但面臨與上述討論相同的問題。如何解決這個問題? –