<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        jquery tmpl模板(實例講解)

        來源:懂視網 責編:小采 時間:2020-11-27 22:31:06
        文檔

        jquery tmpl模板(實例講解)

        jquery tmpl模板(實例講解):之前用模板渲染都是用angular,無意間發現了jquery tmpl這種輕量級,其文檔在這里 官方解釋對該插件的說明:將匹配的第一個元素作為模板,render指定的數據,簽名如下: .tmpl([data,][options]) 其中參數data的用途很明顯:用于render的數據,可以
        推薦度:
        導讀jquery tmpl模板(實例講解):之前用模板渲染都是用angular,無意間發現了jquery tmpl這種輕量級,其文檔在這里 官方解釋對該插件的說明:將匹配的第一個元素作為模板,render指定的數據,簽名如下: .tmpl([data,][options]) 其中參數data的用途很明顯:用于render的數據,可以

        之前用模板渲染都是用angular,無意間發現了jquery tmpl這種輕量級,其文檔在這里

        官方解釋對該插件的說明:將匹配的第一個元素作為模板,render指定的數據,簽名如下:

        .tmpl([data,][options])

        其中參數data的用途很明顯:用于render的數據,可以是任意js類型,包括數組和對象。options一般情況下都是選項了,官方指出,此處的options是一個用戶自定義的鍵值對的map,繼承自tmplItem數據結構,適用于模板render動作期間。

        在這里可以下載到最新的tmpl插件,值的一提的是,官方同時也說明了,tmpl目前是beta版,使用需謹慎..

        下面是一個簡單的例子

        <!DOCTYPE html>
        <html>
        <head>
         <title>jquery template demo</title>
         <script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
         <script type="text/javascript" src="js/jquery.tmpl.js"></script>
         <script id="myTemplate" type="text/x-jquery-tmpl">
         <tr><td>${ID}</td><td>${Name}</td></tr>
         </script>
         <script type="text/javascript">
         $(function () {
         var users = [{ ID: 'hao1', Name: 'Tony' }, { ID: 'hao2', Name: 'Mary hui'}];
         $('#myTemplate').tmpl(users).appendTo('#rows');
         });
         </script>
         <style type="text/css">
         body
         {
         padding: 10px;
         }
         table
         {
         border-collapse: collapse;
         }
         </style>
        </head>
        <body>
         <table cellspacing="0" cellpadding="4" border="1">
         <tbody id="rows">
         </tbody>
         </table>
        </body>
        </html>

        其效果如下

        定義模板時,推薦的方式為定義使用

        <script id='templateName' type='text/x-jquery-tmpl'></script>

        做為模板的包裝器,但定義方式并不只有這一種,你可以使用

        <div id="template" > <!-- markup --></div>

        編譯緩存模板,在jQuery .tmpl()中,還可以將模板事先編譯并緩存起來,然后在合適的時侯再使用,這對于一些數據嵌套是很有用的,如:

        HTML:

        <table cellspacing="0" cellpadding="4" border="1">
         <tbody id="compileRows">
         </tbody>
        </table>

        JavaScript:

        <script id="compile1" type="text/x-jquery-tmpl">
         {{tmpl 'cached'}}
         <tr><td>${ID}</td><td>${Name}</td></tr>
        </script>
        <script id="compile2" type="type/x-jquery-tmpl">
         <tr><td colspan="2">${Group}</td></tr>
        </script>
        <script type="text/javascript">
         $(function () {
         var groupUsers = [{ ID: 'hao1', Name: 'Tony', Group: 'Administrators' }, { ID: 'hao2', Name: 'Mary hui', Group: 'Users'}];
         $('#compile2').template('cached');
         $('#compile1').tmpl(groupUsers).appendTo('#compileRows');
         });
        </script>

        其效果如下

        $.template()方法,將一段Html編譯為模板,示例:

        JavaScript

        var markup = '<tr><td>${ID}</td><td>${Name}</td></tr>';
        $.template('template', markup);
        $.tmpl('template', users).appendTo('#templateRows');

        這樣就可以將markup中定義的模板應用于templateRows對象。

        jQuery .tmpl()的標簽,表達式,屬性:

        ${}:從前面的例子來看,這個標簽的作用很明顯了,相當于是占位符,但是它還有另一種寫法{{= field}}如:

        <script id="myTemplate" type="text/x-jquery-tmpl">
         <tr><td>{{= ID}}</td><td>{{= Name}}</td></tr>
        </script>

        必須要注意的是,"="號后必須跟一個空格,不然是沒有效果的。

        jQuery .tmpl()有兩個比較有用的屬性:$item、$data:

        $item代表當前的模板;$data代表當前的數據。

        Html

        <table cellspacing="0" cellpadding="4" border="1">
         <tbody id="propertyRows">
         </tbody>
         </table>

        Javascript

        <script id="property" type="text/x-jquery-tmpl">
         <tr><td>${ID}</td><td>${$data.Name}</td><td>${$item.getLangs('; ')}</td></tr> </script>
        <script type="text/javascript">
         $(function () {
         var userLangs = [{ ID: 'hao1', Name: 'Tony', Langs: ['PHP', 'Python'] }, { ID: 'hao2', Name: 'Mary hui', Langs: ['Java', 'C#']}];
         $('#property').tmpl(userLangs, {
         getLangs: function (separator) {
         return this.data.Langs.join(separator);
         }
         }).appendTo('#propertyRows');
         });
        </script>

        {{each}}這個標簽一看就知道是做循環用的了,用法如下:(關鍵詞{{each Array}}、$value、$index)

        HTML

        <ul id="ul_each"></ul>

        Javascript

        <script id="eachList" type="text/x-jquery-tmpl">
         <li class="li">
         <span class="a">ID: ${ID};</span>
         <span class="b">Name: ${Name};</span><br/>
         <span class="c">Langs:
         <ul>
         {{each Langs}}
         <li>
         ${$index + 1}:${$value}.
         </li>
         {{/each}}
         </ul>
         </span>
         </li>
        </script>
        <script type="text/javascript">
         $(function () {
         var userLangs = [{ ID: 'hao1', Name: 'Tony', Langs: ['PHP', 'Python'] }, { ID: 'hao2', Name: 'Mary hui', Langs: ['Java', 'C#']}];
         $('#eachList').tmpl(userLangs).appendTo('#ul_each');
         });
        </script>

        其效果如下

        {{each}}還有另一種寫法:

        Javascript

        <script id="eachList2" type="text/x-jquery-tmpl">
         <li class="li">
         <span class="a">ID: ${ID};</span>
         <span class="b">Name: ${Name};</span><br/>
         <span class="c">Langs:
         <ul>
         {{each(i,lang) Langs}}
         <li>
         ${i+1}:${lang}
         </li>
         {{/each}}
         </ul>
         </span>
         </li>
        </script>

        作用和前一種是一樣的。

        {{if}}和{{else}},這兩個標簽應該一看就知道作用了,直接上示例:

        Javascript

        <script id="ifelse" type="text/x-jquery-tmpl">
         <tr>
         <td>${ID}</td>
         <td>${Name}</td>
         <td>
         {{if Langs.length > 1}}
         ${Langs.join('; ')}
         {{else}}
         ${Langs}
         {{/if}}
         </td>
         </tr>
        </script>

        如果Langs數組元素超過1個,則用'; '連接起來,否則就直接顯示Langs,效果如下:

        {{html}},直接將對象屬性值作為HTML代碼替換占位符

        $.tmplItem()方法,使用這個方法,可以獲取從render出來的元素上重新獲取$item,示例:

        $('tbody').delegate('tr', 'click', function () {
         var item = $.tmplItem(this);
         alert(item.data.Name);
        });

        效果如下:

        以上這篇jquery tmpl模板(實例講解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        jquery tmpl模板(實例講解)

        jquery tmpl模板(實例講解):之前用模板渲染都是用angular,無意間發現了jquery tmpl這種輕量級,其文檔在這里 官方解釋對該插件的說明:將匹配的第一個元素作為模板,render指定的數據,簽名如下: .tmpl([data,][options]) 其中參數data的用途很明顯:用于render的數據,可以
        推薦度:
        標簽: 模板 詳解 實例
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产精品免费视频观看拍拍 | 免费a级毛片高清视频不卡| 成人毛片免费在线观看| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 色婷婷六月亚洲综合香蕉| a级毛片免费在线观看| 免费观看美女裸体网站| 亚洲精品在线观看视频| 一级女性全黄久久生活片免费| 95老司机免费福利| 红杏亚洲影院一区二区三区| 亚洲午夜在线播放| 日韩精品久久久久久免费| 亚洲区日韩区无码区| 亚洲欧洲免费无码| 国产精品久久久久久久久免费| 亚洲色精品vr一区二区三区| 偷自拍亚洲视频在线观看| 欧美三级在线电影免费| 亚洲youwu永久无码精品| 免费在线看v网址| 99人中文字幕亚洲区| 野花香在线视频免费观看大全 | 久久国产精品免费一区| 亚洲国产精品视频| 真正全免费视频a毛片| 久久精品国产亚洲Aⅴ香蕉| 午夜精品免费在线观看| 亚洲av无码专区在线播放| 久久WWW免费人成—看片| 亚洲AV无码久久精品狠狠爱浪潮 | 国产裸模视频免费区无码| 亚洲人成色77777在线观看| 亚洲日韩在线第一页| 2021在线观看视频精品免费| 亚洲av无码潮喷在线观看| 欧美三级在线电影免费| 四虎国产精品免费永久在线| 激情亚洲一区国产精品| 毛片免费视频在线观看| 亚欧洲精品在线视频免费观看 |