最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使Ext的Template可以解析二層的json數(shù)據(jù)的方法

 更新時間:2007年12月22日 00:53:28   作者:  
使Ext的Template可以解析二層的json數(shù)據(jù)的方法
Ext的Template支持通過傳入json數(shù)據(jù)的方式進(jìn)行模板替換。
API中有這樣一段示例:

復(fù)制代碼 代碼如下:

var t = new Ext.Template( 
    '<div name="{id}">', 
        '<span class="{cls}">{name:trim} {value:ellipsis(10)}</span>', 
    '</div>' 
); 
t.append('some-element', {id: 'myid', cls: 'myclass', name: 'foo', value: 'bar'}); 



稍作修改做個測試:

復(fù)制代碼 代碼如下:

var t = new Ext.Template( 
    '<div name="{id}">', 
        '<span class="{cls}">{name} {value}</span>', 
    '</div>' 
); 
var dt=t.apply({id: 'myid', cls: 'myclass', name: 'foo', value: 'bar'}); 
alert(dt); 


運行上面的代碼會彈出<div name="myid"><span class="myclass">foo bar</span></div>說明替換成功。

但如果又這樣一個模板數(shù)據(jù):

復(fù)制代碼 代碼如下:

{id: 'myid', cls:{o:'myclass'}, name: 'foo', value: 'bar'} 



我們想在替換時將模板中原cls部分替換為cls.o的值,也就是myclass,該怎么做呢?是不是想直接用{cls.o},你可以試下,絕對無效,沒有替換。因為template匹配替換是直接對{}中冒號前的字符串與JSON變量進(jìn)行匹配的。當(dāng)然找不到cls.o這個串所以也就不能匹配。
好在Template支持對數(shù)據(jù)的解析處理。
我們可以自己定義一個解析函數(shù)即可。其實很簡單:


復(fù)制代碼 代碼如下:

var t = new Ext.Template( 
    '<div name="{id}">', 
        '<span class="{cls:this.parseJSON}">{name} {value}</span>', 
    '</div>' 
); 
t.parseJSON=function(data){return data.o}; 
var dt=t.apply({id: 'myid', cls: {o:'myclass'}, name: 'foo', value: 'bar'}); 
alert(dt) 



我們定義了一個叫parseJSON的解析方法,在模板中訪問頂層的cls然后對cls(是一個object)的值進(jìn)行處理(直接訪問它的o屬性)即可。

相關(guān)文章

最新評論

乌鲁木齐县| 堆龙德庆县| 温宿县| 彭水| 特克斯县| 滦平县| 喀喇沁旗| 鄂伦春自治旗| 宝应县| 孝义市| 武威市| 汉阴县| 灵山县| 桦川县| 宁蒗| 普定县| 赣州市| 虹口区| 保康县| 射阳县| 馆陶县| 常宁市| 罗城| 玉林市| 平定县| 白水县| 岳西县| 会理县| 北京市| 永川市| 宽城| 北安市| 罗定市| 兴海县| 揭西县| 临洮县| 沙河市| 葫芦岛市| 永兴县| 镇安县| 博湖县|