<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
        主站蜘蛛池模板: 美女被免费网站视频在线| 中文字幕无码精品亚洲资源网久久| 亚洲成在人线在线播放无码| 手机在线看永久av片免费| 亚洲va在线va天堂va手机| 91精品免费国产高清在线| 亚洲噜噜噜噜噜影院在线播放| 免费v片在线观看视频网站| 亚洲国产日产无码精品| 四虎在线免费播放| 久久精品国产亚洲av瑜伽| 免费一级特黄特色大片在线 | www国产亚洲精品久久久| 亚洲av无码兔费综合| 成人免费无码精品国产电影| 羞羞视频免费观看| 亚洲综合日韩久久成人AV| 高清一区二区三区免费视频| 亚洲精品第五页中文字幕| 毛片免费视频播放| 免费激情网站国产高清第一页| 亚洲最大激情中文字幕| 久久WWW免费人成一看片| 亚洲av无码成人精品区一本二本| 午夜亚洲av永久无码精品| 中文字幕乱码免费看电影| 亚洲白嫩在线观看| 国产一精品一aⅴ一免费| 一区二区三区视频免费观看| 亚洲人成网站影音先锋播放| 成年性生交大片免费看| ww在线观视频免费观看w| 亚洲jjzzjjzz在线播放| 亚洲中文字幕无码专区| 1000部国产成人免费视频| 国产青草亚洲香蕉精品久久| 国产亚洲人成无码网在线观看| 97在线观免费视频观看| 一级有奶水毛片免费看| 亚洲资源最新版在线观看| 狠狠亚洲婷婷综合色香五月排名|