1. 程式人生 > >artTemplate模板引擎的簡單實用

artTemplate模板引擎的簡單實用

雖說現在多數公司都是用MV*框架做專案,資料驅動檢視更新,Dom操作部分就不需要太在意,只管邏輯部分。就在今天2018.6.26日,這是有一個 特別的日子 ,因為我我….不說了!說一下我哪個美麗又可愛的朋友問我jq裡怎麼用模板引擎,所以我就寫個demo給她,雖說自己也是渣渣,但是能幫到她就挺好的,所以我想既然都demo都寫了,就發個部落格記錄一下,看有沒有人恰巧有用,點上一讚足以讓我開心的像200斤的孩子了。這裡我就給他推薦art-template,為啥呢?因為官方吹的牛逼,哈哈哈!有種捨我其誰之勢,所以就選擇了他。如下圖:
編譯測試

裡面有詳細的介紹,我這裡就簡單的用script標籤引入的方法做個小小demo。不扯這麼多沒用的,程式碼如下:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>artTemplate</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- <link rel="stylesheet" type="text/css" media="screen" href="main.css" /> -->
<script src="./template-web.js"></script> <style> * { margin: 0; padding: 0; box-sizing: border-box; } ul li { list-style: none; } .top { height: 100px; width: 100%; box-sizing
: border-box
; border-bottom: 1px solid #ccc; color: #333; }
.right { width: 72%; float: right; margin-top: 20px; margin-right: 5px; } /* 圖片 */ .top_left { display: inline-block; width: 22%; margin-top: 20px; } .top .top_left .imgs { display: inline-block; width: 100%; height: 98%; text-align: center; } .top .top_left .imgs img { width: 60px; line-height: 60px; float: right; } .top .top_center { display: inline-block; width: 45%; } .top .top_right { display: inline-block; width: 50%; } .top .top_bottom { display: inline-block; width: 50%; text-align: center; color: #333; } .top .top_bottom a { width: 32px; height: 40px; } .top .top_bottom a img { width: 32px; } .right ul li { margin-bottom: 10px; } .top_center ul li:nth-child(1) { font-weight: bold; } .date_time { margin: 15px 15px 0 15px; color: #333; } .date_time ul li { margin: 15px 0; } .judge { margin: 0 15px 0 15px; color: #333; } .judge p { margin: 15px 0; } .border { height: 5px; background-color: #F6F6F6; } .bottom { margin: 15px 15px 0 15px; color: #333; } /* 輸入框 */ textarea { width: 100%; height: 70px; margin-top: 10px; padding: 8px; font-size: 14px; } .consent { width: 100%; margin-top: 35px; } .consent_lf { display: inline-block; width: 49%; text-align: center; } .consent_rg { display: inline-block; width: 49%; text-align: center; } .consent_left { width: 130px; height: 40px; border-radius: 20px; border: none; background-color: #FF5E5E; color: #fff; font-size: 16px; } .consent_right { width: 130px; height: 40px; border-radius: 20px; border: none; background-color: #00BA86; color: #fff; font-size: 16px; } .bottom_span { display: inline-block; width: 100%; padding: 10px 0; margin-top: 10px; background-color: #EEE; padding-left: 10px; } .height { height: 50px; width: 100%; }
</style> </head> <body> <!-- 這裡就是用在模板引擎的父容器 --> <div id="content"></div> <!-- 這裡就是模板 --> <script id="test" type="text/html"> <div class="top"> <div class="top_left"> <span class="imgs"> <span class=""></span> <img src="{{avator}}" alt=""> </span> </div> <div class="right"> <div class="top_center"> <ul> <li>{{teacherName}}</li> <li>{{zhiye}}</li> </ul> </div> <div class="top_bottom"> <a tel="18875639854"> <img src="{{avator}}" alt=""> </a> <p>聯絡TA</p> </div> </div> </div> <div class="date_time"> <ul> <li>是否有調班物件: {{if isTb}}<span></span> {{else if !isTb}}<span></span>{{/if}} </li> <li>開始時間: <span>{{start_time}}</span> </li> <li>結束時間: <span>{{end_time}}</span> </li> <li>請假時長: <span>{{day}}天</span> </li> <li>請假事由: <span>{{yuanyin}}</span> </li> </ul> </div> <!-- 有調班物件時judge這個隱藏 --> <div class="judge"> <ul> <p>調班物件: <span>蘇菲</span> </p> <p> <span>備註:</span> <span>哈哈哈哈或或或或或或或或或或或或或或或或或或</span> </p> </ul> </div> <!-- 有調班物件時judge這個隱藏 --> <div class="border"></div> <div class="bottom"> <p>調班保潔師: <span>{{dbbjs}}</span> </p> <textarea name="txt" placeholder="請輸入你的意見"></textarea> <span class="bottom_span">{{jianyi}}</span> </div> <!-- 無調班物件時和調班物件同意書bottom這個顯示 --> <div class="bottom"> <p>保潔師主管: <span>{{zhuguan}}</span> </p> <textarea name="txt" placeholder="請輸入你的意見"></textarea> </div> <!-- 無調班物件時和調班物件同意書bottom這個顯示 --> <div class="consent"> <div class="consent_lf"> <button class="consent_left">不同意</button> </div> <div class="consent_rg"> <button class="consent_right">同意</button> </div> </div> <div class="height"></div> </script> <script> var data = { avator: "https://ss3.baidu.com/9fo3dSag_xI4khGko9WTAnF6hhy/image/h%3D300/sign=b3d532e743c2d562ed08d6edd71390f3/7e3e6709c93d70cf312a368af4dcd100bba12b60.jpg", isTb: false, //是否調班 teacherName: "水水", zhiye: "前端大佬", start_time: "1996-06-30", end_time: "2018-06-30", yuanyin: "因為水水最美,就不想上班,怎麼滴???????????????????", jianyi: "同意!恭喜老姐,棒棒噠!!同意!恭喜老姐,棒棒噠!!", //建議, dbbjs: "蘇菲", day: "999999", //請假天數 zhuguan: "鄒佩玲", //保潔主管 isAgreen: true, //是否同意 }; var html = template('test', data); //data為模板資料 document.getElementById('content').innerHTML = html; //將生成的模板填充新增到對應的容器中 </script> </body> </html>

效果圖如下:

demo效果圖