復制代碼 代碼如下:var t = new Ext.Template( '<div name="{id}">', '<span class="{cls}">{name:trim} {value:ellip " /> 成人毛片视频免费网站观看,欧美三级日韩,v视界影院视频一区二区三区

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

使Ext的Template可以解析二層的json數據的方法

Ext的Template支持通過傳入json數據的方式進行模板替換。
API中有這樣一段示例:

復制代碼 代碼如下:
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'}); 



稍作修改做個測試:

復制代碼 代碼如下:
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>說明替換成功。

但如果又這樣一個模板數據:

復制代碼 代碼如下:
{id: 'myid', cls:{o:'myclass'}, name: 'foo', value: 'bar'} 



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


復制代碼 代碼如下:
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)的值進行處理(直接訪問它的o屬性)即可。

JavaScript技術使Ext的Template可以解析二層的json數據的方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 色婷婷亚洲综合 | 亚洲无吗在线视频 | 亚州视频一区二区 | 高清免费久久影院 | 中文久草 | 偷偷狠狠的日日2020 | 国产精品自拍第一页 | 成人成人性区 | 亚洲五月激情 | 草色网| 欧美xxxx做受欧美人妖 | 国产高清a| 亚洲一区二区在线 | 色婷综合 | 亚洲 欧美 在线观看 | 日本精品久久久久久久久免费 | 亚洲黄色小说视频 | 亚洲久草| 久草cm| 国产99对白在线播放 | 四虎久久 | 色视频免费观看 | 91色在线播放 | 欧美亚洲综合另类成人 | 怡红院免费全部视频在线视频 | 久久久噜久噜久久综合 | 黄色免费观看网站 | 欧美性高清在线视频 | 黑人专区| 超级碰碰青草免费视频92 | 国产一级精品高清一级毛片 | 欧美一区二区三区精品国产 | 日韩亚洲一区二区三区 | 91视频日韩 | 2021在线永久免费视频 | 久久有码中文字幕 | 亚洲影视在线 | 亚洲视频色 | 国产亚洲精品97在线观看 | www.黄色在线 | 久久大胆人体 |