template.js前端模板引擎使用
下載地址
原始碼學習
預設的開始標籤和結束標籤分別是:
sTag: '<%',//開始標籤,可以重寫,我專案中使用的是<:
eTag: '%>',//結束標籤,我專案中使用的是:>
快速上手
編寫模板
使用一個type=”text/html”的script標籤存放模板,或者放到字串中:
<script id="tpl" type="text/html">
<ul>
<%for(var i = 0; i < list.length; i++) {%>
<li><%:=list [i].name%></li>
<%}%>
</ul>
</script>
渲染模板
var tpl = document.getElementById('tpl').innerHTML;
template(tpl, {list: [{name: "yan"},{name: "haijing"}]});
輸出:
<ul>
<li>yan</li>
<li>haijing</li>
</ul>
轉義
<script id="tpl" type="text/html">
<table>
<caption>for迴圈輸出兩次</caption>
<%var test = '輸出自定義變數';%>
<%for (var i = 0; i < 2; i++) {%>
<tr><td><%=html%>預設</td><td><%=html%></td></tr>
< tr><td><%:h=html>html轉義</td><td><%:h=html%></td></tr>
<tr><td><%:=html>不轉義</td><td><%:=html%></td></tr>
<tr><td><%:u=url>URI轉義</td><td><%:u=url%></td></tr>
<tr><td>var</td><td><%:=test%></td></tr>
<tr><td><%=test + 1>表示式</td><td><%=test + 1%></td></tr>
<%if (true) {%>
<tr><td>if</td><td>if 語句</td></tr>
<%}%>
<tr><td>分割線</td><td>------------------------------</td></tr>
<%}%>
</table>
</script>
<script src="../template.js"></script>
<script>
var html = template(document.getElementById('tpl').innerHTML, {
url: 'http://yanhaijing.com?name=顏海鏡',
html: '<div id="test">template.js "</div>'
});
console.log(html);
document.getElementById('wp').innerHTML = html;
</script>
<script>
template.config({sTag: '<#', eTag: '#>'});
var tpl1 = '<div><#:=name#></div>';
console.log('<##>:', template(tpl1, {name: '更改tag<##>'}));
template.config({sTag: '{{', eTag: '}}'});
var tpl1 = '<div>{{:=name}}</div>';
console.log('{{}}:', template(tpl1, {name: '更改tag{{}}'}));
template.config({sTag: '<%', eTag: '#>'});
var tpl1 = '<div><%:=name#></div>';
console.log('<%#>:', template(tpl1, {name: '不一致也可以哦,更改tag<%#>'}));
template.config({sTag: '<%', eTag: '%>', compress: true});
var tpl1 = '<div>空格會被壓縮 空格 空格</div>';
console.log('compress:', template(tpl1, {}));
template.config({sTag: '<%', eTag: '%>', escape: false});
var tpl1 = '<div>預設輸出不進行轉義<%=html%></div>';
console.log('escape:', template(tpl1, {html: '<div>html</div>'}));
</script>
註冊函式
<div id="wp"></div>
<script id="tpl" type="text/html">
<%=dateFormat(Date.now(), 'yyyy年 MM月 dd日 hh:mm:ss')%>
</script>
<script src="../template.js"></script>
<script>
template.registerFunction('dateFormat', function (date, format) {
date = new Date(date);
var map = {
"M": date.getMonth() + 1, //月份
"d": date.getDate(), //日
"h": date.getHours(), //小時
"m": date.getMinutes(), //分
"s": date.getSeconds(), //秒
"q": Math.floor((date.getMonth() + 3) / 3), //季度
"S": date.getMilliseconds() //毫秒
};
format = format.replace(/([yMdhmsqS])+/g, function(all, t){
var v = map[t];
if(v !== undefined){
if(all.length > 1){
v = '0' + v;
v = v.substr(v.length-2);
}
return v;
}
else if(t === 'y'){
return (date.getFullYear() + '').substr(4 - all.length);
}
return all;
});
return format;
});
console.log(template.registerFunction());
console.log(template.registerFunction('dateFormat'));
</script>
<script>
var html = template(document.getElementById('tpl').innerHTML, {});
console.log(html);
document.getElementById('wp').innerHTML = html;
template.unregisterFunction('dateFormat');
console.log(template.registerFunction('dateFormat'));
</script>
<div id="wp"></div>
<script id="tpl" type="text/html">
<%:up='yanhaijing'%>
</script>
<script src="../template.js"></script>
<script>
template.registerModifier('up', function (str) {
return str.toUpperCase();
});
console.log(template.registerModifier());
console.log(template.registerModifier('up'));
</script>
<script>
var html = template(document.getElementById('tpl').innerHTML, {});
console.log(html);
document.getElementById('wp').innerHTML = html;
template.unregisterModifier('up');
console.log(template.registerModifier('up'));
</script>
相關推薦
template.js前端模板引擎使用
下載地址 原始碼學習 預設的開始標籤和結束標籤分別是: sTag: '<%',//開始標籤,可以重寫,我專案中使用的是<: eTag: '%>',//結束標籤,我專案
JS前端模板引擎實現
簡單前端模板引擎實現 AbsurdJS本身主要是以NodeJS的模組的形式釋出的,不過它也會發布客戶端版本。考慮到這些,我就不能直接使用現有的引擎了,因為它們大部分都是在NodeJS上執行的,而不能跑在瀏覽器上。我需要的是一個小巧的,純粹以Javascri
必須掌握的前端模板引擎之art-template
常用的模板引擎有tpl.js、baiduTemplate、doT.js、art-template等等; 我所理解的模板引擎就是把js資料傳到html中展示出來; art-template 是一個簡約、超快的模板引擎。 art-template有兩種語法: 一、標準語法可以讓模板更容易讀寫; 二、原始
借助new Function 實現前端模板引擎
ges ima spa 場景 分享 簡單 pan .com .cn 1.提取標識字段,替換值 通過正則 /<%([^%>]+)?%>取出age和name通過while替換成傳進來的值,生成this is 23,this is 123, 但是這種簡單的場景
前端模板引擎匯總
pro tac react 邏輯 -h roc TP AC hand 1. 本文所指的模板引擎是指用在傳統的jquery項目中,所以和 Vue、react 項目本身就沒有可比性,模板引擎本身也只是做數據的渲染和簡單的邏輯處理,想有其他的功能那就直接用 Vue 、react
Web 前端模板引擎的選擇
模板引擎負責組裝資料,以另外一種形式或外觀展現資料。 瀏覽器中的頁面是 Web 模板引擎最終的展現。 無論你是否直接使用模板引擎,Web 模板一直都在,不在前端就在後端,它的出現甚至可以追溯到超文字標記語言 HTML 標準正式確立之前。 伺服器端的模板引擎 我所
超快的前端模板引擎 artTemplate
artTemplate 新一代 javascript 模板引擎 artTemplate 是新一代 javascript 模板引擎,它在 v8 中的渲染效率可接近 javascript 效能極限,在 chrome 下渲染效率測試中分別是知名引擎 Mustache 與
前端模板引擎artTemplate---高效能JavaScript模板引擎
關於artTemplate模板引擎的詳細原理請移步高效能JavaScript模板引擎原理解析,本文只探討如何使用。初學前端的人一般對於繫結資料都是使用原生js或者jquery來拼接字串,此為hardcode,而且拼接的過程很頭疼,什麼單引號雙引號,符號嵌入多了就
初識前端模板引擎jade
1.什麼是模板引擎?(我的理解) 模板引擎:為了使使用者介面與業務資料(內容)分離而產生的,根據特定的規則生成特定文件,各個領域都可以有自己的模板引擎。 web模板引擎:最終生成的文件是HTML型別。 而這種規則有五花八門,各種各樣的規則就是不同的模板引擎
Node.js EJS模板引擎
初識 EJS 模組引擎 我們學的 EJS 是後臺模板,可以把我們資料庫和檔案讀取的資料顯示到 Html 頁面上面。它 是一個第三方模組,需要通過 npm 安裝 https://www.npmjs.co
javascript前端模板引擎框架artTemplate使用總結
artTemplate是騰訊開源的前端模板框架,和mustache,handlerbars類似,在web專案中可以很方便的使用,上手快,如果用過mustache,那麼幾乎可以快速切換到template框架上來。 學習過程: 1、語法介紹: 資料繫結:與angularjs
require.js及模板引擎的使用例項
/* @標題:<strong><span style="font-size:18px;"> product.js</span></strong> @日誌: 建立檔案 */ define(function (requir
js模板引擎-art-template常用
ava 隱藏 定義函數 debug 很多 原生 語法 console 接受 art-template javascript 模板引擎 分為原生語法和簡潔語法,本文主要是講簡潔語法 基礎數據渲染 輸出HTML 流程控制 遍歷 調用自定義函數方法 子模板引入 基礎數據渲染
前端 template.js 模板用法
一個 syn pat () amp strong attach 容器 onf 1.首先引用template.js然後在html中定義一個空的容器 class名為“quotation” <div class="quotation"></div> 2.在
AJAX template-web.js (模板引擎) jquery.twbsPagination.js (分頁外掛) 的使用
模板引擎 分頁外掛 1.概念 模板引擎不屬於特定技術領域,它是跨領域跨平臺的概念。在Asp下有模板引擎,在PHP下也有模板引擎,在C#下也有,甚至JavaScript、WinForm開發都會用到模板引擎技術。 2.原理 置換型模板引擎實現簡單,但其效率低下,
template-web.js模板引擎框架
web前端模板引擎框架之一的template-web.js模板引擎框架,用於引入多條相同的資料。 步驟: 1.匯入模板檔案,這裡是用的是art_template 2.寫好模板,是待作為複製的物件,寫在script中,type為text/hml,這樣不會再頁面中解析。 3.引入需要使用模板的資
JavaScript模板引擎Template.js
template.js 一款 JavaScript 模板引擎,簡單,好用。提供一套模板語法,使用者可以寫一個模板區塊,每次根據傳入的資料,生成對應資料產生的HTML片段,渲染不同的效果。https://github.com/aui/artTemplate 1.語法 (1)、使用
JavaScript模板引擎Template.js基本使用詳解
template.js是一款JavaScript模板引擎,提供一套模板語法,簡單好用,開發者可以寫一個模板區塊,每次傳入的資料,生成對應資料產生的HTML片段,渲染不同的效果。官網:簡潔語法版 https://github.com/aui/art-template/wiki/
template-web.js模板引擎的使用之初級篇
本次將介紹web前端模板引擎框架之一的template-web.js模板引擎框架的使用<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">
template-web.js模板引擎的使用之高階篇
對於 template-web.js模板引擎還不瞭解的,建議學習上一篇, template-web.js模板引擎的初級使用。本文將介紹template-web.js模板引擎的三個使用api 【1.邏輯語句if...else... 2.原文輸出 3.迴圈語句each】