Ext.XTemplate的语法
Ext.XTemplate是Ext中关于页面模板的一个组件。用来将数据和模板组合出最终的html。所谓数据指的是javascript的对象。EMP在loadEntityToPage中使用了这个组件。举例如下;
//javascript,我们要展现的javascript对象,这个对象一般来说是从后台取回来的2

3
//这是我的javascript对象表示4


{5
id:"1232132132dfasf121r",6
name:"zcg",7
age:13,8
goodPerson:true, //好人一个9

head:
{ 10
size:15,11
type:"smart" //脑袋是聪明的12
}13
hands:14
[15

{16
id:"123",17
type:"left" //左手18
}19

{20
id:"456",21
type:"right"22
}23
]24
}
//html 模板
<div id="template">2
<span>编号:{id}</span>3
<span>名字:{age}</span>4
</div>
在模板中,用“{}”括起来的内容,被当作是数据对象的一个属性。例如{id},会被替换成为数据对象的id,以此类推。
问题来了,按照上面的例子,如果你在模板中写一个{head.type},想把脑袋的类型也显示出来,这时候会发现出错了。原因是模板中不支持用{a.b}的方式表示嵌套属性。那么怎么办呢。分为两种情况:
如果你从后台取回来的数据只有一个,那么这样写:{[values.head.type]}。
如果你从后台取回来的数据不只一个:那么这样写:{[values[xindex].head.type}}
语法解释:“{[]}”括起来的东西会被当作javascript执行,其中有几个特殊的字符,values代表数据对象,如果数据对象是数组,那么用xindex代表当前索引。
关于Ext.Template更多的信息:http://extjs.com/deploy/dev/docs/?class=Ext.XTemplate
768

被折叠的 条评论
为什么被折叠?



