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

首頁 > 語言 > JavaScript > 正文

jQuery .tmpl() 用法示例介紹

2024-05-06 16:07:53
字體:
來源:轉載
供稿:網友
解決 PHP 拼數據這方面的問題而有了 Smarty 這些模版,JavaScript 也可以利用模版來解決這些問題,比如基于 jQuery 的 jquery.tmpl
 
 

動態請求數據來更新頁面是現在非常常用的方法,比如博客評論的分頁動態加載,微博的滾動加載和定時請求加載等。

這些情況下,動態請求返回的數據一般不是已拼好的 HTML 就是 JSON 或 XML,總之不在瀏覽器端拼數據就在服務器端拼數據。不過,從傳輸量方面來看,返回 HTML 不劃算,而在 web 傳輸方面,現在更多的是使用 JSON 而不是 XML。

瀏覽器端根據 JSON 生成 HTML 有個很苦惱的地方就是,結構不復雜的時候還好,結構一復雜,就想死了,需要很小心很小心地寫出幾乎無法維護的 JavaScript 代碼。

如同為解決 PHP 拼數據這方面的問題而有了 Smarty 這些模版,JavaScript 也可以利用模版來解決這些問題,比如基于 jQuery 的 jquery.tmpl,現在已經被接受為官方的模版插件了。詳細的 API 在 jQuery 的 Templates 里,內置的 demo 也盡情地演示了各種用法。

就我自己的幾次使用,感覺很不錯,用更加直觀方面的 HTML 寫法而不是 JavaScript 拼湊 來寫結構,然后用 JSON 變量來占位的方式來填充數據,代碼看起來好多了。

Tmpl提供了幾種tag:

${}:等同于{{=}},是輸出變量,通過了html編碼的。
{{html}}:輸出變量html,但是沒有html編碼,適合輸出html代碼。
{{if }} {{else}}:提供了分支邏輯。
{{each}}:提供循環邏輯,$value訪問迭代變量。

jquery tmpl的使用方法:

模板定義:

方法一:

<script id="movieTemplate" type="text/x-jquery-tmpl"> <li> <b>${Name}</b> (${ReleaseYear}) </li> </script>

方法二:

function makeTemplate(){ var markup='<li><b>${Name}</b> (${ReleaseYear})</li>‘; $.template(“movieTemplate”, markup); }

DATA:

var movies = [ { Name: "The Red Violin", ReleaseYear: "1998" }, { Name: "Eyes Wide Shut", ReleaseYear: "1999" }, { Name: "The Inheritance", ReleaseYear: "1976" } ];

Script:

$( "#movieTemplate" ).tmpl( movies ) .appendTo( "#movieList" );

實例1:

<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.min.js"></script> <script src="http://ajax.microsoft.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js"></script> </head> <body> <ul class="param-list"></ul> <script type="text/x-jquery-tmpl" id="new-param-tmpl"> <li rel="${num}"> <input type="text" name="key[${num}]" value="${key}" placeholder="key" /> = <input type="text" name="value[${num}]" value="${value}" placeholder="value" /> <button type="button" class="button small remove-param"><img src="http://mediacdn.disqus.com/1338845651/images/v3/icon/16/69.png" height="12" style="margin: 3px auto 0px; padding: 0px 0px 0px 5px; font-family: 'Courier New', Courier, monospace; border-left-color: rgb(108, 226, 108); border-left-width: 3px; border-left-style: solid; width: 640px; clear: both; line-height: 20px;"><ul id="movieList"></ul> <script id="movieTemplate" type="text/x-jquery-tmpl"> <li><b>${Name}</b> (${ReleaseYear})</li> </script> <script type="text/javascript"> var movies = [ { Name: "The Red Violin", ReleaseYear: "1998" }, { Name: "Eyes Wide Shut", ReleaseYear: "1999" }, { Name: "The Inheritance", ReleaseYear: "1976" } ]; // Render the template with the movies data and insert // the rendered HTML under the "movieList" element $( "#movieTemplate" ).tmpl( movies ) .appendTo( "#movieList" ); </script>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 永福县| 互助| 安康市| 淮安市| 高邮市| 潜山县| 三穗县| 马尔康县| 二手房| 岗巴县| 富裕县| 阳高县| 中宁县| 札达县| 深州市| 大名县| 金川县| 密山市| 南漳县| 天津市| 辉县市| 阳城县| 白沙| 车险| 乌审旗| 宁都县| 宝清县| 津南区| 班玛县| 南华县| 澄江县| 中江县| 蕲春县| 犍为县| 平果县| 平罗县| 光山县| 青岛市| 台南县| 瑞金市| 涿州市|