我正在做一些图表工作,并且在图表上没有创建任何内容的情况下获得单行消息“布局运行失败”。调查这一点后,我发现我必须添加一些额外的脚本文件来生成涵盖here的日志文件:
布局失败
4.1中布局引擎的设计结果是可能的 用于导致布局运行失败的不正确配置(或错误) 完成所有计算。发生这种情况时,简单的布局 停止并且已刷新到DOM的部分结果是 一切都是可见的。在某些情况下,布局可能完成99% 失败可能未被发现或表现为轻微的视觉异常。在 在其他情况下,布局可能会提前失败并明确地保留用户界面 破坏状态(很像在布局期间的JS错误会在以前做过 的版本)。
诊断
如果您怀疑看到布局失败,那么第一步就是 启用布局诊断。这是通过替换法线来完成的 “ext-all.js”文件带有“ext-all-dev.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>
现在我得到了我无法理解的诊断数据 - 它似乎没有诊断出错误:
++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
是否有人知道解释诊断信息的位置?
答案 0 :(得分:14)
我发现这些类型的错误通常以最快的方式解决,它采用注释直到离开的方法来隔离哪个组件配置导致布局失败。从里到外注释出子组件,用填充html配置替换它们,直到你将哪个组件归零导致失败,然后看看你可以放回多少,直到错误回来,你应该只看一些剩余的配置行,你可以针对文档/样本进行观察。
答案 1 :(得分:4)
我在我的应用中收到“布局运行失败”消息,发现问题是由忘记在我的Viewport.js文件中设置布局属性引起的。一旦我在那里定义了布局,一切都运行良好。 :)
示例:
Ext.define('MyApp.view.Viewport',{
extend : 'Ext.container.Viewport',
layout : 'fit',
});
答案 2 :(得分:3)
部分原因可归结为 -
要进行调试,我们应该调查抛出异常的视图中的布局。
不幸的是,没有可用的文档。
来源:Sencha支持