从模板创建组件(模板或XTemplate)

时间:2011-02-20 19:45:18

标签: extjs

我希望能够从模板中生成组件。它的用例是当我在DataView中生成一行时,我希望能够将按钮和/或其他组件(甚至是嵌套网格)合并到渲染的项目中。

到目前为止,我看到的所有地方都是一个调用另一个模板的模板。有没有办法从XTemplate做我想要的(生成组件而不是简单的html)?

1 个答案:

答案 0 :(得分:1)

由于XTemplate仅用于生成要插入到DOM中的标记,因此单独创建组件是不够的 - 组件确实具有底层DOM元素(通过component.el.dom),但也存在为JavaScript浏览器内存中的对象以及其他方法和属性。

可以通过几种不同的方式完成您的要求...您可以使用XTemplate生成标记,并使用Component.applyTo配置选项在内存中创建一个链接到DOM的Component对象模板中的元素。当然,您必须等到应用模板,然后创建一个将applyTo设置为正确DOM元素的组件。

您还可以扩展XTemplate类来执行上面提到的相同操作,但是包含在applyTemplate中。我很确定Ext没有内置的模板来创建组件 - 到目前为止他们只是创建HTML。