extJS中applyTo
和contentEl
之间有什么区别?它们是面板的两个配置属性。
答案 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的主体中!