jQuery .tmpl() 用法樣本介紹,jquery.tmpl

來源:互聯網
上載者:User

jQuery .tmpl() 用法樣本介紹,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" alt=""/></button> <button type="button" class="button small add-param"><span><img src="http://www.bkjia.com/uploads/allimg/140823/02241a340-1.png" height="12" alt=""/></button> </li> </script> <script> $(function(){ function addParam(key, value) { var param_list = $('.param-list'); var num = param_list.find('li').length; // build a template to clone the current row var built = $('#new-param-tmpl').tmpl({ num: num, key: key || '', value: value || '', }); if (key) param_list.prepend(built); else param_list.append(built); param_list.find('li:not(:last) .add-param').hide(); param_list.find('li:last .add-param').show(); param_list.find('li:not(:last) .remove-param').show(); param_list.find('li:last .remove-param').hide(); } // bind events $('.param-list .remove-param').live('click', function(){ $(this).parent().remove(); return false; }); $('.param-list .add-param').live('click', function(){ addParam(); return false; }); addParam(); })</script> </body> </html>

執行個體2

<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>

jquerytmplminjs 這個要怎使用?有什用?

blog.csdn.net/...7.aspx
 
jquery-tmpl模板 在模板中輸出html

你現在有兩個選擇
第一:把代碼貼出來
第二:我給你發個demo,你自己看看,比著改!


 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.