Extjs间歇性错误

时间:2017-01-27 16:10:45

标签: javascript extjs rendering extjs4.1

使用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)

Here is an error print

导致这种情况的原因是什么?

1 个答案:

答案 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之后加载,并且确切地修复了此错误。

这些只是一些可能的原因。