2013-03-19 196 views
0

動態設置標題的觀點我目前設置視圖標題在煎茶觸摸2視圖像這樣正確的方法:哪些是煎茶觸摸2

initialize: function() { 
    this.callParent(); 
    var translator = Ext.create('MyApp.util.Translation'); 
    this.config.title = translator.translateData('pagetitle.detail'); 
} 

翻譯類剛剛從查找的字符串javascript對象基於translator.translateData函數中提供的密鑰。

使用這種方法,當視圖加載標題稍微向右移動(40像素左右)。

我也試過把它放在一個視圖監聽器activate中,得到了類似的結果。

什麼是在ST2中動態設置視圖標題的正確方法?

+0

你用導航視圖工作? – 2013-03-19 23:23:42

回答

0

您可以通過控制器做這樣

Ext.define('MyApp.controller.MyController', { 
    extend: 'Ext.app.Controller', 

    config: { 
     refs: { 
      titlebar: { 
       autoCreate: true, 
       selector: '#mytitlebar', 
       xtype: 'titlebar' 
      } 
     }, 

     control: { 
      "titlebar#mytitlebar": { 
       initialize: 'onTitlebarInitialize' 
      } 
     } 
    }, 

    onTitlebarInitialize: function(component, options) { 
     var me = this; 
     me.getTitlebar().setTitle("Second Title"); 
     // OR IN YOUR CASE: 
     var translator = Ext.create('MyApp.util.Translation'); 
     me.getTitlebar().setTitle(translator.translateData('pagetitle.detail')); 
    } 
}); 

瀏覽:

Ext.define('MyApp.view.MyContainer', { 
    extend: 'Ext.Container', 

    config: { 
     items: [ 
      { 
       xtype: 'titlebar', 
       docked: 'top', 
       itemId: 'mytitlebar', 
       title: 'First Title' 
      } 
     ] 
    } 

}); 
+0

我以前試過這個。首先,'this.setTitle()'是'undefined',即使使用'item.config.title ='結果也不會設置屏幕標題。 – 2013-03-19 20:19:53

+0

我更新了我的答案。希望這可以幫助。 – cclerville 2013-03-19 21:02:03