理解"布局运行失败"错误记录

Aci*_*ier 12 debugging logging extjs extjs4 extjs4.1

我正在做一些图表工作,并在图表上没有创建任何内容时得到单行消息"布局运行失败".展望这个我发现我必须添加一些额外的脚本文件来生成日志文件所涵盖这里:

布局失败

由于4.1中布局引擎的设计,不正确的配置(或错误)可能导致布局运行无法完成所有计算.发生这种情况时,布局只会停止,并且已刷新到DOM的部分结果都是可见的.在某些情况下,布局可能已完成99%,故障可能未被检测到或显示为轻微的视觉异常.在其他情况下,布局可能会提前失败并使UI处于明显破坏的状态(很像布局期间的JS错误会在以前的版本中执行).

诊断

如果您怀疑看到布局失败,则第一步是启用布局诊断.这是通过用"ext-all-dev.js"替换普通的"ext-all.js"文件并添加一些额外的脚本来完成的.

我添加了所需的脚本:

<script type="text/javascript" src="extjs/src/diag/layout/Context.js"></script>
<script type="text/javascript" src="extjs/src/diag/layout/ContextItem.js"></script>
Run Code Online (Sandbox Code Playgroud)

现在我得到了我无法理解的诊断数据 - 它似乎没有诊断出错误:

++printer<autocontainer> - size: configured/shrinkWrap
    --statprint-1472<autocontainer> - size: configured/configured
        triggeredBy: count=1
            statprint-1472.containerChildrenDone:dom () dirty: false, setBy: ?
        --chart-1473<draw> - size: shrinkWrap/shrinkWrap
            triggeredBy: count=1
                chart-1473.containerChildrenDone:dom (true) dirty: false, setBy: ?
    ++panel-1474<dock> - boxParent: printer - size: natural/configured
    ++panel-1474<autocontainer> - boxParent: printer - size: natural/configured
    ++statprint-1472<dock> - size: configured/configured
        ++statprint-1472_header<body> [isBoxParent] - size: calculated/shrinkWrap
        ++statprint-1472_header<hbox> [isBoxParent] - size: calculated/shrinkWrap
            ++statprint-1472_header_hd<autocomponent> [isBoxParent] - size: calculated/shrinkWrap
            ++tool-1475<autocomponent> [isBoxParent] - size: configured/configured
Run Code Online (Sandbox Code Playgroud)

有人知道解释诊断信息的位置吗?

The*_*ris 14

我发现这些类型的错误通常以最快的方式解决,这种方法可以隔离哪个组件配置导致布局失败.从里到外注释出子组件,用填充html配置替换它们,直到你将哪个组件归零导致失败,然后看看你可以放回多少,直到错误回来,你应该只看一些剩余的配置行,你可以针对文档/样本.