为Sencha 2模板提供输入

时间:2012-09-11 08:52:36

标签: sencha-touch-2

如何将参数传递给Sencha 2模板?下面是我的小模板,尝试了不同的东西,比如在模板上定义“字段变量”并使用配置,所以第四,但我肯定做错了。让我们说我想给出“title”和“usageTime”的参数,我该怎么做呢

Ext.define('Sencha.templates.AppDetailsUsageTemplate' ,{
    extend: 'Ext.XTemplate',
    constructor: function (config) {
       var html = [
           '<div id="{id}" class="limitsList {cls}">',
           '   <div class="reportsSummaryLeft"> {title} </div>',
           '   <div class="reportsSummaryRight"> {usageTime}  </div>',
           '   <div style="clear:both"></div>',
           '</div>'];
       this.callParent(html);
    }
});

在我看来,我想做一些事情(下面的伪代码):

xtype: 'container',
tpl: Ext.create('Sencha.templates.AppDetailsUsageTemplate',{
    title: 'test tittle',
    usageTime: 100384
})

1 个答案:

答案 0 :(得分:0)

我想通了,通过数据提供参数: 例子:

{
    id:     'appDetailsMonth',
    xtype:  'component',
    tpl:    Ext.create('Sencha.templates.AppDetailsUsageTemplate')
},{
    id:     'appDetailsLifeDuration',
    xtype:  'component',
    tpl:    Ext.create('Sencha.templates.AppDetailsUsageTemplate')
}

然后在applyItems

applyItems:function(newItems, oldItems) {
    var i    = 0,
        iNum = newItems.length,
        data = this.getData();

    var yesterdayItem = newItems[2];
    yesterdayItem.data = {
        title: 'Yesterday',
        usage: data.dayDuration
    };
    ....
}