2013-03-19 117 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