2010-10-14 40 views

回答

7

applyTo呈现面板到目标元件(面板主体仍然可以包含任何内容),contentEl使用目标元素作为其主体内容(面板仍可被呈现给任何其他元素)。这两种方法是无关的。

编辑:请注意,从Ext 4.0+开始,applyTo配置不再存在。随着时间的推移,声明式/渐进式增强策略对于Ext而言变得不太可行(反正它从未在所有组件中完全支持),并且他们最终停止支持它。你总是使用renderTo现在(以编程方式呈现给目标元素),而contentEl仍然有效,并且仍表示,从中取内容,并将其添加到面板的身体的元素。 contentEl当你有,你希望在不必再现JS代码的内容标记以显示面板组件内的页面上的一些现有的HTML是最有用的。

虽然我在这里,但我想我会澄清其他的东西......重要的是要明白,renderTo通常只用于应用程序布局中最顶级的容器。所有子组件应该总是被添加为items到Container - 直接绘制子组件通过renderTo目标元素意味着这些组件将不能参加分机管理布局系统,你通常在应用程序中不想要的。

另一个不同之处是,在内线的每个组件支持renderTo,但只有某些组件(最有用面板)会以一种有意义的方式兑现contentEl。即使contentEl是在AbstractComponent定义,大多数组件不是设计来处理任意HTML内容。

+0

因此,applyTo等于'renderTo'? – hguser 2010-10-14 09:25:13

+1

applyTo假定现有内容提供Ext预期的结构标记,并将该组件渲染到该顶层renderTo只是将现有元素视为要渲染的父容器。文档对这些内容非常清楚,您应该仔细阅读它们。 – 2010-10-15 20:07:14

0

一般来说,applyTo使用指定元素成分的主要元素,而contentEl仅适用于当面板呈现为内容,以使用指定的元素,简单地移动到面板的车身面板!

相关问题