国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 14:18:39
字體:
來源:轉載
供稿:網(wǎng)友
Ext的Template支持通過傳入json數(shù)據(jù)的方式進行模板替換。
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>說明替換成功。

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

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



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


代碼如下:
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屬性)即可。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 台南县| 洪洞县| 城步| 崇仁县| 梁山县| 芷江| 喀喇| 漠河县| 马边| 辽中县| 和林格尔县| 锡林浩特市| 隆林| 望城县| 镶黄旗| 刚察县| 汝南县| 高州市| 邯郸市| 澜沧| 灵璧县| 习水县| 隆子县| 张掖市| 宁晋县| 石屏县| 乃东县| 普定县| 通江县| 永靖县| 虎林市| 瑞安市| 柘荣县| 和硕县| 太原市| 涞水县| 新干县| 商河县| 长泰县| 斗六市| 光山县|