开发者

Creating components from templates (Template or XTemplate)

开发者 https://www.devze.com 2023-02-12 00:37 出处:网络
I\'d like to be able to generate a component from within a template. The use case for it is that when I generate a row in a DataView I\'d like to be able to incorporate buttons and/or other components

I'd like to be able to generate a component from within a template. The use case for it is that when I generate a row in a DataView I'd like to be able to incorporate buttons and/or other components (maybe even a nested grid) to the rendered items.

So far everywhere I look all I see is a template calling another template. Is there a way to do what I'd like (generate compo开发者_运维技巧nent instead of just plain html) from an XTemplate?


Since an XTemplate is just used for generating markup to be inserted into the DOM, it alone is not enough to create components -- Components do have an underlying DOM element (through component.el.dom), but also exist as JavaScript objects in browser memory with other methods and properties.

It is possible to accomplish what you are asking through several different ways... you can use the XTemplate to generate the markup, and use the Component.applyTo config option to create a Component object in memory that is linked to the DOM element from your template. Of course, you will have to wait until the template is applied and then create a component with applyTo set to the correct DOM element.

You could also extend the XTemplate class to do the same thing just mentioned, but wrapped up in the applyTemplate stuff. I am pretty sure that Ext does not have a built-in way for the templates to create components -- so far they just create HTML.

0

精彩评论

暂无评论...
验证码 换一张
取 消