【问题标题】:How to set DataView template arguments如何设置 DataView 模板参数
【发布时间】:2017-04-27 02:59:18
【问题描述】:

当我扩展例如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。那么实现这一目标的替代方法是什么?

【问题讨论】:

    标签: javascript extjs


    【解决方案1】:

    一种选择是在 initConfig/constructor 中初始化模板,以便您可以将数据视图的配置选项传递给模板。

    templateArgs: {
        custom_parameter: "Some value"
    },    
    initConfig: function () {
        this.tpl = new Ext.XTemplate(
            '<div>{[this.templateArgs.custom_parameter]}</div>',
            '<tpl for=".">',
                    ...
            '</tpl>',
            {
                templateArgs: this.templateArgs
            }
        );
    }
    

    【讨论】:

    • 是的!我设法在构造函数的帮助下实现了这一点。谢谢!
    猜你喜欢
    • 2019-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-24
    相关资源
    最近更新 更多