JS模板引擎-騰訊artTemplate 簡潔語法例子
參考:https://github.com/aui/artTemplate
下載後其中自帶有例子;下面是自己參照寫的。
<!DOCTYPE HTML > <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Index</title> <script src="dist/template.js"></script> </head> <body> <div id="content"></div> <script id="test" type="text/html"> {{if isAdmin}} <h1>{{title}}</h1> <ul> {{each list as value index}} <li>索引:{{index}}:{{value}}</li> {{/each}} </ul> {{/if}} </script> <script> var data = { title : 'HELLO WORLD', isAdmin : true, list : ['新聞','軍事','歷史','政治'] }; var html = template('test', data); document.getElementById("content").innerHTML = html; </script> <hr/>no-escape 不轉義HTML <div id="div_noescape"></div> <script id="no_escape" type="text/html"> <p>不轉義:{{#text}}</p> <p>預設轉義: {{text}}</p> </script> <script> var data_noEscape = { text: '<span style="color:#F00">hello world!</span>' }; var html_noescape = template("no_escape", data_noEscape); document.getElementById("div_noescape").innerHTML = html_noescape; </script> <hr/> 在javascript中存放模板 <div id="div_complie"></div> <script> var source = '<ur>' + '{{each list}}'+ '<li>索引:{{$index+1}}:{{$value}}</li>'+ '{{/each}}'+ '</ul>'; var data = { list : ['電影','電視劇','綜藝','音樂'] }; var render = template.compile(source); var html = render(data); document.getElementById("div_complie").innerHTML = html; </script> <hr/> 嵌入子模板(include) <div id="div_include"></div> <script id="include" type="text/html"> {{include 'test'}} </script> <script> document.getElementById("div_include").innerHTML = html; </script> <hr/>輔助方法 <script id="helper" type="text/html"> {{time | xx:'yyyy年 MM月 dd日 hh:mm:ss'}} </script> <div id="div_helper"></div> <script> /** * 對日期進行格式化, * @param date 要格式化的日期 * @param format 進行格式化的模式字串 * 支援的模式字母有: * y:年, * M:年中的月份(1-12), * d:月份中的天(1-31), * h:小時(0-23), * m:分(0-59), * s:秒(0-59), * S:毫秒(0-999), * q:季度(1-4) * @return String */ function dateFormat(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; } var data = { time: 1408536771253, }; template.helper("xx", dateFormat); var html = template('helper', data); document.getElementById('div_helper').innerHTML = html; // document.getElementById("div_helper").innerHTML = dateFormat(new Date()); </script> </body> </html>
helper:
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Index</title> <script src="dist/template.js"> </script> </head> <body> <div id="content"> </div> <script id="test" type="text/html"> {{xx(n)}} </script> <script> template.helper("xx", function(a){ return 10 + "--" + a; }); var data = { n: 123 }; var html = template("test", data); document.getElementById("content").innerHTML = html; </script> </div> </body> </html>
其中函式參考:http://yaniswang.com/frontend/2013/02/16/dateformat-performance/
相關推薦
JS模板引擎-騰訊artTemplate 簡潔語法例子
參考:https://github.com/aui/artTemplate 下載後其中自帶有例子;下面是自己參照寫的。 <!DOCTYPE HTML > <html> <head> <meta http-
js模板引擎——artTemplate的使用問題
-- sel rip 方式 blog 使用 都在 text element 最近在使用模板引擎,對於出現的錯誤做一個小總結。 想要在下拉框中使用模板,讓下拉選項中的每一項都由模板顯示。 用下面的寫法會出錯,只有一個下拉選項,所有的數據都在一行內。 .... <se
artTemplate js模板引擎動態給html賦值
html放到$("#area").append(html);之前,否則文件流獲取不到#area <table width="90%" class="table" cellspacing="0" cellpadding="0"> <thead> <tr> <th
js模板引擎artTemplate快速上手
騰訊的artTemplate 1,編寫模板 (採用script標籤並帶有屬性id和type="text/html") <script id="test" type="text/html"&
js模板引擎art-template基礎語法和搭配ajax渲染頁面
在github下載的aui/資料夾裡 引入檔案: <script type="text/javascript" src="artTemplate/dist/template.js"></script> 簡易寫法demo: <!DOCTY
epii.js簡約而不簡單的JS模板引擎
js1,基礎數據綁定epii 自定義dom節點屬性 r-data 可以對任何類型節點賦值,其中 input 節點最終 賦值其value 屬性,img節點賦值其 src 屬性,其它類型節點均賦值innerHtml 屬性。如果設置r-data-default 則在沒有數據時候顯示默認值。r-data="title
js模板引擎---jtemplates使用
sel this href pla text cda phone js模板 編寫 昨天記錄了如何使用騰訊的模板引擎,今天記錄一下jquery的模板引擎jtemplates。官網:http://jtemplates.tpython.com/ 編寫模板:需要在頁面引入jquer
Epii.js 一個極其簡單的Js模板引擎
idt 定義 images 更多 mas play 寫法 ren gin Epii.js 簡約而不簡單的JavaScript模板引擎 項目地址 https://github.com/epaii/epii.js 極低門檻,拿來即用,別忘記star
微擎框架下拉分頁(使用js模板引擎)
contain don obi 方式 get onf info 循環 time 1.需要分頁的頁面,引入一下文件 <script language="javascript" src="\addons\{$_GPC[‘m‘]}\template\mobile\js/re
js模板引擎
spa 其他 多個 js模板引擎 col bsp 參數 ron list 1.有多個循環的可以把其他循環內容放進原來循環的一個參數裏面,然後循環這個參數就行了 <%esch list as log jianzhi%>======jianzhi就是鍵值,從0開始
[js高手之路]Node.js模板引擎教程-jade速學與實戰3-mixin
函數 .cn ima images ade 高手 js模板引擎 ron pan 強大的mixin mixin類似於函數的功能,可以達到模塊復用的效果 mixin show: 定義一個類似函數的功能,名字叫show,裏面的就是他的內容 +show: 調用show,每
[js高手之路]Node.js模板引擎教程-jade速學與實戰2-流程控制,轉義與非轉義
title 學習 != 下一步 cas ase spa back name 一、轉義與非轉義 jade模板文件代碼: 1 doctype html 2 html 3 head 4 meta(charset=‘utf-8‘)
[js高手之路]Node.js模板引擎教程-jade速學與實戰4-模板引用,繼承,插件使用
node.js ade 方法 頭部 containe jade bsp 繼承 for 一、block 模塊復用 把需要復用的模塊用block定義 block後面跟上模塊的名字,引用一次block 內容就會被復用一次 編譯之後的結果: 二,繼承模板(exten
簡易js模板引擎
n) oot 拆分 而且 想要 list function stripe 上下文 前面 js 模板引擎有很多很多,我以前經常用 art-template ,有時候也會拿 vue 來當模板引擎用。 直到...... 年初的時候,我還在上個項目組,那時候代碼規範是
js模板引擎-art-template常用
ava 隱藏 定義函數 debug 很多 原生 語法 console 接受 art-template javascript 模板引擎 分為原生語法和簡潔語法,本文主要是講簡潔語法 基礎數據渲染 輸出HTML 流程控制 遍歷 調用自定義函數方法 子模板引入 基礎數據渲染
百度JS模板引擎
lan cap pla 說明 doc list集合 template 比較 xss 1. 應用場景 前端使用的模板系統 或 後端Javascript環境發布頁面 2. 功能描述 提供一套模板語法,用戶可以寫一個模板區塊,每次根據傳入的數據,生成對應數據產生的HTM
laytpl js模板引擎
常用模塊 彈層 bar layui onf fig 邏輯 render 一位 laytpl js模板引擎。laytpl是一款非常輕量的JavaScript模板引擎。地址:http://www.layui.com/laytpl/ 用法與handlebar.js類似,但是比較輕
AJAX template-web.js (模板引擎) jquery.twbsPagination.js (分頁外掛) 的使用
模板引擎 分頁外掛 1.概念 模板引擎不屬於特定技術領域,它是跨領域跨平臺的概念。在Asp下有模板引擎,在PHP下也有模板引擎,在C#下也有,甚至JavaScript、WinForm開發都會用到模板引擎技術。 2.原理 置換型模板引擎實現簡單,但其效率低下,
node.js模板引擎ejs的使用方法
ejs模板引擎 安裝模組 ejs express cnpm install ejs-cli -g 標準的json字串必須是單引號 編譯ejs模板檔案命令 什麼是模板引擎 為什麼要用模板引擎 迴圈遍歷資料顯示 實現資料和檢視分離 案例 用jq
template-web.js模板引擎框架
web前端模板引擎框架之一的template-web.js模板引擎框架,用於引入多條相同的資料。 步驟: 1.匯入模板檔案,這裡是用的是art_template 2.寫好模板,是待作為複製的物件,寫在script中,type為text/hml,這樣不會再頁面中解析。 3.引入需要使用模板的資