当我扩展例如Ext.button.Button
组件时,我知道如何将参数传递给模板。我是这样做的:
renderTpl: '...{custom_parameter}...',
getTemplateArgs: function() {
return {
custom_parameter: "Some value"
}
}
效果很好。但现在我想在扩展Ext.DataView
时做同样的伎俩。让我们假设我有一些模板定义如下:
Ext.define('Ext.ux.CustomComponent', {
extend: 'Ext.DataView',
...
tpl: [
'<div>{custom_parameter}</div>',
'<tpl for=".">',
...
'</tpl>'
]
...
我看到DataView
遗漏了这个不错的getTemplateArgs
。那么实现这个目标的另一种方法是什么?
答案 0 :(得分:1)
一个选项是在initConfig / constructor中初始化模板,以便您可以将dataview的配置选项传递给模板。
templateArgs: {
custom_parameter: "Some value"
},
initConfig: function () {
this.tpl = new Ext.XTemplate(
'<div>{[this.templateArgs.custom_parameter]}</div>',
'<tpl for=".">',
...
'</tpl>',
{
templateArgs: this.templateArgs
}
);
}