0

私は現在、senchatouch2ビューで次のようにビュータイトルを設定しています。

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

翻訳クラスは、関数で提供されたキーに基づいてjavascriptオブジェクトから文字列を検索するだけtranslator.translateDataです。

このアプローチでは、ビューが読み込まれると、タイトルがわずかに右にシフトします(40ピクセル程度)。

これをビューリスナーに配置してみたところactivate、同様の結果が得られました。

ST2でビュータイトルを動的に設定する正しい方法は何ですか?

4

1 に答える 1

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'
            }
        ]
    }

});
于 2013-03-19T19:58:39.307 に答える