0

Ext.Toolbar.TextItem を拡張して単純な時計を作成しようとしています。これの目的は、アプリケーションのステータス バーに時計を追加できるようにすることです。私の拡張クラスは次のようになります。

Ext.define('Urlopy.Components.TimeDisplay', {
    extend : 'Ext.Toolbar.TextItem',
    initComponent : function() {
        var me = this;

        var dt = new Date();

        Ext.defer(this.onUpdate, 240, this);

        Ext.apply(me, {
            text : Ext.Date.format(dt, "Y-m-d H:i:s")
        });
        delete dt;
        this.callParent(arguments);
    },

    onUpdate : function(obj) {
        var dt = new Date();
        this.setText(Ext.Date.format(dt, "Y-m-d H:i:s"));
        delete dt;
        Ext.defer(this.onUpdate, 240, this);
    }
});

これが正しいかどうかはわかりませんが、パネルを折りたたむまではうまくいきます。私のレイアウトは Ext.container.Viewport に基づいています。

これは私が得るエラーです: http://vimeo.com/43978383

何が悪いのかわからない:(

どんな助けでも大歓迎です!

アップデート

これは私の更新されたコンポーネントです:

Ext.define('Urlopy.Components.TimeDisplay', {
    extend : 'Ext.Toolbar.TextItem',
    initComponent : function() {
        this.callParent(arguments);
        //this.setText(Ext.Date.format(new Date(), "Y-m-d H:i:s"));
        Ext.defer(this.onUpdate, 240, this);
    },
    onUpdate : function(obj) {
        //this.setText(Ext.Date.format(new Date(), "Y-m-d H:i:s"));
        Ext.defer(this.onUpdate, 240, this);
    }
});

これは機能するようになりましたが、テキストの更新を担当する2行のコメントを外すと、すべてクラッシュします:/

このエラーが発生します

el は未定義です
var id = el.id,

4

1 に答える 1

0

これを試して、それでもクラッシュするかどうか教えてください。

    Ext.define('Urlopy.Components.TimeDisplay', {
        extend : 'Ext.Toolbar.TextItem',
        initComponent : function() {
            this.callParent(arguments);
            Ext.defer(this.onUpdate, 240, this);
        },
        onUpdate : function(obj) {
            console.log('tock');
            Ext.defer(this.onUpdate, 240, this);
        }
    });
于 2012-06-14T10:50:38.983 に答える