使用Extjs 4.1,正在发生间歇性错误。
有时它会发生,但大部分时间都没有。
它总是在我启动应用程序时发生,所以我按F5,一切都恢复正常。
使用this reference来调试错误,我注意到它发生在第29590行。
错误消息非常通用:
未捕获的TypeError:无法读取属性' dom'是的 在constructor.finishRender(ext-all-debug-w-comments.js:29590)
在constructor.finishRenderItems(ext-all-debug-w-comments.js:39796)
在constructor.finishRender(ext-all-debug-w-comments.js:40889)
在constructor.finishRenderChildren(ext-all-debug-w-comments.js:44526)
在constructor.afterRender(ext-all-debug-w-comments.js:29331)
在constructor.callParent(ext-all-debug-w-comments.js:6194)
在constructor.afterRender(ext-all-debug-w-comments.js:36521)
在constructor.finishRender(ext-all-debug-w-comments.js:29625)
在constructor.finishRenderItems(ext-all-debug-w-comments.js:39796)
在constructor.finishRender(ext-all-debug-w-comments.js:40889)
导致这种情况的原因是什么?
答案 0 :(得分:1)
我会把它作为评论,但它不合适。
我能想到各种各样的原因。其中大多数都基于异步调用。您必须提供有关问题的更多信息才能回答。
显然,try {
me.container = Ext.get(me.el.dom.parentNode);
} catch(e) {
console.log(me.id);
console.log(me.itemId);
console.log(me.xtype);
...
console.log(me);
throw e;
}
为空,它不应该是。首先,您必须找到导致问题的组件。为此,您应该使用以下内容交换第29590行:
{{1}}
这可以让您了解哪些组件会受到影响。
然后向我们展示该组件的代码。还要检查是否从组件外部修改该组件的配置,例如来自商店加载操作或其他异步任务。另外,您应该查看组件及其祖先的覆盖是否从单独的JS文件加载 - 有时它们有时会被加载,有时在调用finishRender之后加载,并且确切地修复了此错误。
这些只是一些可能的原因。