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,