国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答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
當前位置: 首頁 - 科技 - 知識百科 - 正文

javascript前端模板引擎框架artTemplate使用總結-CSDN博客

來源:懂視網 責編:小采 時間:2020-11-27 19:33:27
文檔

javascript前端模板引擎框架artTemplate使用總結-CSDN博客

javascript前端模板引擎框架artTemplate使用總結-CSDN博客:artTemplate是騰訊開源的前端模板框架,和mustache,handlerbars類似,在web項目中可以很方便的使用,上手快,如果用過mustache,那么幾乎可以快速切換到template框架上來。學習過程:1、語法介紹:數據綁定:與angularjs類似,只不過視圖與模型是單
推薦度:
導讀javascript前端模板引擎框架artTemplate使用總結-CSDN博客:artTemplate是騰訊開源的前端模板框架,和mustache,handlerbars類似,在web項目中可以很方便的使用,上手快,如果用過mustache,那么幾乎可以快速切換到template框架上來。學習過程:1、語法介紹:數據綁定:與angularjs類似,只不過視圖與模型是單
artTemplate是騰訊開源的前端模板框架,和mustache,handlerbars類似,在web項目中可以很方便的使用,上手快,如果用過mustache,那么幾乎可以快速切換到template框架上來。

學習過程:

1、語法介紹:

  • 數據綁定:與angularjs類似,只不過視圖與模型是單向的綁定,模型改變,視圖改變,反過來則不行。

  • <script id="tpl1" type="text/template">
    	<h1>1、data mapping example</h1>
    	<h2>{{message}}</h2>
    </script>
    //js中使用模板渲染
    var data1 = {message:"hello,artTemplate is a javasript framework."};
    $("node1").innerHTML = template("tpl1",data1);
  • 條件判斷:這里支持單一的if,也可以加入else分支,沒有else if分支。

  • {{if isShow}}
    	<h3>(2、滿足條件展示消息:{{message}}</h3>
    {{else}}
    	<h3>(2x、條件不滿足,展示默認消息</h3>
    {{/if}}
  • 遍歷集合:

  • {{each list as item index}}
    	<h3>the index of message is : {{index+1}} -> {{item}}</h3>
    {{/each}}
  • 輔助函數:可以用來將后端請求的數據進行映射,比如1->正常,0->錯誤。在使用的時候僅需要在表達式后面通過"|func"的方式就可以,比如{{message | filterhandler}},其中filterhandler為自定義的輔助函數。

  • 先定義一個輔助函數,這里定義的是一個簡單的轉換日期格式函數。

    template.helper("date2str",function(date){
    var today = new Date(date);
    var year = today.getFullYear();
    var month = today.getMonth()+1;
    if(month<10)month = "0"+month;
    var day = today.getDate();
    if(day<10)day = "0"+day;
    return year+"-"+month+"-"+day;
     });

    使用輔助函數

    <p id="node4"></p> 
    <script id="tpl4" type="text/template">
    	<h1>4、template.helper func example</h1>
    	<h3>today is {{datenow | date2str}}</h3>
     </script>
    
    //js代碼中調用
     var data4 = {datenow:new Date()};
     $("node4").innerHTML = template("tpl4",data4);
  • 預編譯:與使用模板不同的是,預編譯需要的是一個string類型的文檔片段,然后將數據交給預編譯后的模板進行渲染。

  • var tpl5 = "<h1>5、compile example</h1><h3>this is a string the type is not {{type}}</h3>";
    $("node5").innerHTML = template.compile(tpl5)({type:"text/template"});
  • 引用子模板:

  • <p id="node6"></p>
    <script id="tpl6" type="text/template">
    <h1>6、include child template example</h1>
    <p class="parenttemplate">
    	<h3>parent template</h3>
    	{{include 'tpl6-child'}}
    </p>
    </script>
    <script id="tpl6-child" type="text/template">
    <p class="childtemplate">
    	<h3>child template</h3>
    </p>
    </script>

    2、下載template.js庫,引入到html文件中。<script type="text/javascript" src="template.js"></script>

    3、這里給出一個綜合的例子,將前面介紹的一些語法練習一下:

    <!doctype html>
    <html>
    <head>
    <meta charset="UTF-8"/>
    <title>artTemplate example</title>
    <style type="text/css">
    *{margin:0;}
    h1,h2,h3{margin:3px;}
    h2,h3{text-indent:20px;}
    .parenttemplate{background:#ccc;width:600px;height:60px;}
    .childtemplate{background:lightblue;}
    </style>
    <script type="text/javascript" src="template.js"></script>
    <script>
     function $(id){return document.getElementById(id);}
     window.onload = function(){
     //data mapping
     var data1 = {message:"hello,artTemplate is a javasript framework."};
     $("node1").innerHTML = template("tpl1",data1);
     //if condition
     var data2 = {isShow:true,message:"hello,template"};
     $("node2").innerHTML = template("tpl2",data2);
     data2.isShow = false;
     $("node2x").innerHTML = template("tpl2",data2);
     //list foreach
     var data3 = {list:["Javascript","JQuery","artTemplate"]};
     $("node3").innerHTML = template("tpl3",data3);
     //helper function
     template.helper("date2str",function(date){
     var today = new Date(date);
     var year = today.getFullYear();
     var month = today.getMonth()+1;
     if(month<10)month = "0"+month;
     var day = today.getDate();
     if(day<10)day = "0"+day;
     return year+"-"+month+"-"+day;
     });
     var data4 = {datenow:new Date()};
     $("node4").innerHTML = template("tpl4",data4);
     //compile example
     var tpl5 = "<h1>5、compile example</h1><h3>this is a string the type is not {{type}} 
     </h3>";
     $("node5").innerHTML = template.compile(tpl5)({type:"text/template"});
     $("node6").innerHTML = template("tpl6",{});
     //escape html
     $("node7").innerHTML = template("tpl7",{message:"<span>escape html tag</span>"});
     }
    </script>
    </head>
    <body>
    	 <p id="node1"></p>
    	 <script id="tpl1" type="text/template">
    	 <h1>1、data mapping example</h1>
    	 <h2>{{message}}</h2>
    	 </script>
    	 <p id="node2"></p>
    	 <p id="node2x"></p>
    	 <script id="tpl2" type="text/template">
    	 <h1>2、if condition example</h1>
    	 {{if isShow}}
    	 <h3>(2、滿足條件展示消息:{{message}}</h3>
    	{{else}}
    	 <h3>(2x、條件不滿足,展示默認消息</h3>
    	{{/if}}
    	 </script>
    	 <p id="node3"></p>
    	 <script id="tpl3" type="text/template">
    	 <h1>3、list example</h1>
    	 {{each list as item index}}
    	 <h3>the index of message is : {{index+1}} -> {{item}}</h3>
    	{{/each}}
    	 </script>
    	 <p id="node4"></p>
    	 <script id="tpl4" type="text/template">
    	 <h1>4、template.helper func example</h1>
    	<h3>today is {{datenow | date2str}}</h3>
    	 </script>
    	 <p id="node5"></p>
    	 <p id="node6"></p>
    	 <script id="tpl6" type="text/template">
    	 <h1>6、include child template example</h1>
    	 <p class="parenttemplate">
    	 <h3>parent template</h3>
    	{{include 'tpl6-child'}}
    	 </p>
    	 </script>
    	 <script id="tpl6-child" type="text/template">
    	 <p class="childtemplate">
    	 <h3>child template</h3>
    	 </p>
    	 </script>
    	 <p id="node7"></p>
    	 <script id="tpl7" type="text/template">
    	 <h1>7、escape html tag example</h1>
    	 <h3>origin expression : {{#message}}</h3>
    	 <h3>after escape ==> : {{message}}</h3>
    	 </script>
    	</body>
    </html>

    運行這個示例,可以得到如下的效果:

    2.png

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

    文檔

    javascript前端模板引擎框架artTemplate使用總結-CSDN博客

    javascript前端模板引擎框架artTemplate使用總結-CSDN博客:artTemplate是騰訊開源的前端模板框架,和mustache,handlerbars類似,在web項目中可以很方便的使用,上手快,如果用過mustache,那么幾乎可以快速切換到template框架上來。學習過程:1、語法介紹:數據綁定:與angularjs類似,只不過視圖與模型是單
    推薦度:
    標簽: js 模板 art
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 欧美日韩国产一区二区三区播放 | 91久久精品一区二区三区 | 欧美日韩一区二区三区视频 | 一区二区三区视频在线播放 | 日韩欧美综合视频 | 国产成人亚洲综合一区 | 国内精品视频在线播放 | 亚洲 欧美 日韩 小说 另类 | 国产一级特黄全黄毛片 | 日韩欧美在线综合网高清 | 亚洲国产精品日韩一线满 | 国产69精品久久 | 手机看片91精品一区 | 日韩精品一区二区三区国语自制 | 青青草原国产一区二区 | 欧美成人精品第一区二区三区 | 亚洲国产精品综合久久网络 | 久久久久国产成人精品亚洲午夜 | 福利片一区二区 | 欧美日韩精品一区二区在线播放 | 国产精品久久香蕉免费播放 | 国产成人综合一区精品 | 欧美 日韩 国产在线 | 国产在线精品观看 | 久久久久久久99久久久毒国产 | 日韩电影院 | 小处雏高清一区二区三区 | 欧美日韩国产精品 | 亚洲欧美日韩中文字幕在线 | 精品久久久久久综合网 | 亚洲另类色图 | 日韩免费视频网站 | 久久人精品 | 日韩精品欧美亚洲高清有无 | 国产亚洲三级 | 成人毛片在线播放 | 亚洲欧美日韩在线精品一区二区 | 亚洲一区二区免费看 | 国产成人精品一区二区免费视频 | 91精品专区 | 亚洲综合欧美 |