2013-07-25 8 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

Фактически, я понял, что ошибка заключалась в том, что «слушатели» должны находиться внутри «config».

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"); 
      } 
     } 
    } 
});