sencha touch xtemplate 动态参数

var panel = Ext.create('Ext.Panel');
 

//模拟一条数据
 

var data = { 'id': 1, 'title': 'Hello', 'content': 'I\'m studying Sencha XTemplate', 'date': '2014-04-17'};
 

// 获取今天的日期
 

var ext_date = Ext.Date;
 

// 去掉时分秒
 

var now = ext_date.parse(ext_date.format(new Date(), 'Y-m-d'), 'Y-m-d');
 

var temp = new Ext.XTemplate(
'<div>标题: {title}</div>',
' <div> 内容:{content}</div>',
'发布日期: ',
// 这里执行一下,下面的calc函数
// 这里调用函数的问题, 我只在if里面调用成功过
/* 在 {% this.calc(date)%} 这样,提示date不存在, 希望有知道的指导一下 我*/
'<tpl if="this.calc(date) &gt; 0">发布于{[this.day]}天前',
'<tpl else> {date} </tpl>',
/* 我们的目标就是如何求出这个动态的参数,即 这里的 this.day
之前,傻傻的 lagel 居然还把 day 定义到模版之外,但是一直给 day 赋值失败,后来发现了它本身的功能(多看文档)
*/
{ //计算我们的日期
calc: function(date) {
    //根据我们的格式转换为日期
    var now_date = ext_date.parse(date, 'Y-m-d');
    // 按天求取差值
    this.day = ext_date.diff(now_date, now, 'd');
    return this.day;
},
day: 0 //存储我们计算的值
}
);
temp.overwrite(panel.element, data);
Ext.Viewport.add(panel);

你可能感兴趣的:(touch,touch,sencha,sencha,XTemplate,动态参数)