原文:[url]http://www.cnblogs.com/lipan/archive/2011/12/12/2274740.html[/url]
即时执行任意的代码
在XTemplate中,{[ ... ]}范围内的内容会在模板作用域的范围下执行。这里有一些特殊的变量:
values:当前作用域下的值。若想改变其中的值,你可以切换子模板的作用域。
parent:父级模板的对象
xindex:若是循环模板,这是当前循环的索引index(从1开始)。
xcount:若是循环模板,这是循环的次数 。
条件逻辑判断
配合标签tpl和操作符if的使用,可以做一些简单的逻辑判断,注意没有else操作符,你可以写两个if来代替。另外大于,小于符号要经过html编码,不能直接写出。
即时执行任意的代码
在XTemplate中,{[ ... ]}范围内的内容会在模板作用域的范围下执行。这里有一些特殊的变量:
values:当前作用域下的值。若想改变其中的值,你可以切换子模板的作用域。
parent:父级模板的对象
xindex:若是循环模板,这是当前循环的索引index(从1开始)。
xcount:若是循环模板,这是循环的次数 。
//即时执行任意的代码
var tp6 = new Ext.XTemplate(
'当前日期:{[new Date().toLocaleDateString()]}',
'<table cellpadding=0 cellspacing=0 border=1 width=400px>',
'<tpl for="friends"><tr>',
'<tpl if="xindex == 1"><td rowspan={[xcount]}>他的好友:</td></tpl>',
'<td>{["姓名:" + values.name + ",年龄:" + values.age + ","+ (values.like=="鲜花"?"是个女孩":"是个男孩")]}</td>',
'</tr></tpl>',
'</table>'
);
tp6.overwrite("div6", data);
条件逻辑判断
配合标签tpl和操作符if的使用,可以做一些简单的逻辑判断,注意没有else操作符,你可以写两个if来代替。另外大于,小于符号要经过html编码,不能直接写出。
//条件逻辑判断
var tp5 = new Ext.XTemplate(
'<table cellpadding=0 cellspacing=0 border=1 width=400px>',
'<tr><td>他的好友:</td><td>',
'<tpl for="friends">',
'<tpl if="age < 18"><p>{name}:[未成年]</p></tpl>',
'<tpl if="age >= 18"><p>{name}:{age}岁</p></tpl>',
'</tpl></td></tr>',
'</table>'
);
tp5.overwrite("div5", data);