復制代碼 代碼如下:var t = new Ext.Template( '<div name="{id}">', '<span class="{cls}">{name:trim} {value:ellip " /> 久久亚洲精品视频,一区二区三区高清不卡,日韩女优一区

四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

使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數據的方法,轉載需保留來源!

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

主站蜘蛛池模板: 美丽交易| 山东教育电视台直播| 日本电视剧《阿信》| 火花 电影| 白培中| 黑帮大佬和我的第365天| 啊嗯视频| 单位同意报考证明| 我这一辈子电影| 《白狼》大结局| a friend in need中文翻译| 性视频网站在线| raz分级阅读绘本| 花月佳期 电影| 林子祥电影| 老司机免费视频在线观看| 夫妻之间的理性| 年会不能停豆瓣评分| 膨腹爱好者撑肚子视频| 精卫填海演员表| 红色诗集手抄报简单又漂亮| 周子航| 后悔造句二年级| 欧美日本视频在线| 宗利群| 莫比乌斯电影完整版免费观看| 爱 死亡和机器人| 抖音1| 浙江卫视节目在线观看直播| 精神空虚,贪图享乐的整改措施| 最后的武士| 比基尼裸体| 我亲爱的简谱| 王晓男演员| 啪啪电影网| 贝的故事教案设计优秀教案| 金马电影网| gayvideos| 学前教育科研方法的论文| 小镇追凶电影在线观看| 白丝带 电影|