【发布时间】:2012-06-14 08:24:56
【问题描述】:
我正在尝试扩展 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,
【问题讨论】:
-
尝试使用 Firefox 或 chrome 进行调试。这将帮助你更好。
-
@AbdelOlakara 我试过了,但没有运气,不知道发生了什么。你能帮我解决这个问题吗:stackoverflow.com/questions/11030477/…,基本相同,但方法不同。
-
你能用 console.log(this.rendered) 替换注释行吗?告诉我们会发生什么?
-
如果你用 console.log(this.isHidden()); 替换注释行,你会得到什么;
-
当我记录(this.rendered)时我得到了真实,isHidden() 记录为假。 Vimeo 链接显示只有当我尝试折叠面板时才会崩溃:/ 奇怪...