2013-07-25 147 views
0

我正在嘗試使用委託檢測標籤項目何時被點擊。這是我的看法:委託與sencha touch 2

Ext.define('SenchaPOC.view.Viewport',{ 
    extend: 'Ext.TabPanel', 
    xtype: 'tabpanel', 

    config:{ 
     fullscreen: true, 
     tabBarPosition: 'bottom', 
     items:[{ 
        xtype: 'profilepage' 
       }, 
       { 
        xtype: 'internaltransferpage' 
       }, 
       { 
        xtype: 'accounttrendspage' 
       } 
     ] 
    }, 
    listeners: { 
     delegate: 'tabbar > tab', 
     tap: function() { 
      console.log("changed"); 
     } 
    } 
}); 

它不工作。我認爲錯誤是在這一行

delegate: 'tabbar > tab' 

任何人都知道如何解決這個問題?另外,如何獲取已更改爲標籤的標題?

回答

0

我相信你正在尋找'activeitemchange'事件。嘗試與:

listeners: { 
    activeitemchange: function(that, newValue, oldValue, eOpts) { 
     console.log(newValue.getTitle()) 
    } 
} 

希望它有幫助。

+0

謝謝,這是做同樣的事情,我正在嘗試做。但是錯誤來自其他的東西。請檢查我的回答 –

+0

其實,這也回答了你的第二個問題:'另外,我怎樣才能得到已改變爲標籤的標題?' –

0

其實,我意識到錯誤是'聽衆'應該在'配置'裏面。

Ext.define('SenchaPOC.view.Viewport',{ 
    extend: 'Ext.TabPanel', 
    xtype: 'tabpanel', 

    config:{ 
     fullscreen: true, 
     tabBarPosition: 'bottom', 
     items:[{ 
        xtype: 'profilepage' 
       }, 
       { 
        xtype: 'internaltransferpage' 
       }, 
       { 
        xtype: 'accounttrendspage' 
       } 
     ], 
     listeners: { 
      delegate: 'tabbar > tab', 
      tap: function() { 
       console.log("changed"); 
      } 
     } 
    } 
});