extJS中“applyTo”和“contentEl”之间的区别

时间:2010-10-14 01:18:03

标签: extjs

extJS中applyTocontentEl之间有什么区别?它们是面板的两个配置属性。

2 个答案:

答案 0 :(得分:7)

applyTo将面板渲染为目标元素(面板主体仍可包含任何内容),contentEl使用目标元素作为其主体内容(面板仍可呈现给任何其他元素)。这两种方法无关。

修改:只需注意从Ext 4.0+开始,applyTo配置不再存在。随着时间的推移,声明/渐进增强策略变得不那么可行(无论如何它从未在所有组件中完全支持),并且它们最终停止支持它。您现在总是使用renderTo(以编程方式呈现给目标元素),而contentEl仍然有效,并且仍然指示从中获取内容的元素并将其添加到面板的主体中。{{1当您希望在Panel组件中显示某些现有HTML而不必在JS代码中重现内容标记时,最有用。

当我在这里时,我想我会澄清其他内容......重要的是要了解contentEl通常仅由应用程序布局中最顶层的容器使用。所有子组件应始终作为items添加到Container中 - 通过renderTo将子组件直接呈现到目标元素意味着这些组件不会参与Ext-managed布局系统,您通常会这样做不想申请。

另一个区别是Ext中的每个组件都支持renderTo,但只有某些组件(最有用的是Panel)才会以有意义的方式表示renderTo。即使在contentEl上定义contentEl,大多数组件也不是为处理任意HTML内容而设计的。

答案 1 :(得分:0)

通常,applyTo使用指定的元素作为Component的主元素,而contentEl仅用于Panel,当Panel被渲染用作内容时,它只是将指定的元素移动到Panel的主体中!