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

Extjs 从模板(模板或XTemplate)创建组件,extjs,Extjs,我希望能够从模板中生成组件。它的用例是,当我在DataView中生成一行时,我希望能够将按钮和/或其他组件(甚至可能是嵌套网格)合并到渲染项中 到目前为止,我看到的所有地方都是一个调用另一个模板的模板。有没有一种方法可以从XTemplate执行我想要的操作(生成组件而不是简单的html?因为XTemplate只是用于生成要插入DOM的标记,所以仅仅创建组件是不够的——组件确实有一个底层DOM元素(通过component.el.DOM),但也可以作为JavaScript对象与其他方法和属性一起存在

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


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

因为XTemplate只是用于生成要插入DOM的标记,所以仅仅创建组件是不够的——组件确实有一个底层DOM元素(通过component.el.DOM),但也可以作为JavaScript对象与其他方法和属性一起存在于浏览器内存中

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

您还可以扩展XTemplate类来完成刚才提到的相同的事情,但是要包含在applyTemplate中。我很确定Ext没有内置的方式让模板创建组件——到目前为止,它们只是创建HTML