ExtLS中的afterLayout vs layout,afterRender vs render等?

时间:2010-08-07 10:27:22

标签: javascript extjs

afterLayout和layout,afterRender和render之类的事件有什么区别?我理解beforeLayout和afterLayout之间的区别 - 但布局事件有何不同?

1 个答案:

答案 0 :(得分:26)

注意:仅适用于Ext 3.x.这在2010年得到了解答。

没有'布局'事件,只有afterLayout。从文档中,afterLayout“当这个容器中的组件由相关的布局管理器安排时触发”,这是非常不言自明的。 afterLayout仅由负责布置子组件的Container子类触发。

另一方面,所有Component子类(包括Containers)都会触发renderafterRender事件。基本的区别只是afterRender稍后会发生。在DOM标记完成渲染之后,但在渲染过程中可能发生的其他事情(如隐藏,禁用,状态恢复等)之前,render会触发。所有这一切都完成后,afterRender成为最后一个事件。要完全理解这一点,您应该查看Ext.Component.render()方法的源代码,该方法逐步显示渲染过程的工作原理以及何时触发这些事件。