artTemplate 簡潔語法版

artTemplate是騰訊公司的js模板引擎,性能、語法以及錯誤處理非常的優(yōu)秀,它采用預(yù)編譯方式讓性能有了質(zhì)的飛躍,并且充分利用 javascript 引擎特性,使得其性能無論在前端還是后端都有極其出色的表現(xiàn)。在 chrome 下渲染效率測試中分別是知名引擎 Mustache 與 micro tmpl 的 25 、 32 倍。

速度對比

安裝與使用

引用簡潔語法的引擎版本,例如:

<script src="dist/template.js"></script>

下載

表達(dá)式

簡寫表達(dá)式由{{ 與 }}構(gòu)成

對內(nèi)容編碼輸出:

編碼輸出:
{{content}} 
不編碼輸出:
{{#content}}
編碼可以防止數(shù)據(jù)中含有 HTML 字符串,避免引起 XSS 攻擊。

條件表達(dá)式

{{if admin}}
  admin
{{else if code > 0}}
  master
{{else}}
  error
{{/if}}

遍歷表達(dá)式

無論數(shù)組或者對象都可以用 each 進(jìn)行遍歷。

{{each list as value index}}
 <li>{{index}} - {{value.user}}</li>
{{/each}}

亦可以被簡寫:

{{each list}}
  <li>{{$index}} - {{$value.user}}</li>
{{/each}}

模板包含表達(dá)式

用于嵌入子模板。

{{include 'template_name'}}

子模板默認(rèn)共享當(dāng)前數(shù)據(jù),亦可以指定數(shù)據(jù):

{{include 'template_name' news_list}}

輔助方法

使用

template.helper(name, callback)

注冊公用輔助方法:

template.helper('dateFormat', function (date, format) { // .. return value;});

模板中使用的方式:

{{time | dateFormat:'yyyy-MM-dd hh:mm:ss'}}

支持傳入?yún)?shù)與嵌套使用:

{{time | say:'cd' | ubb | link}}

演示例子
基本例子
不轉(zhuǎn)義HTML
在javascript中存放模板
嵌入子模板(include)
訪問外部公用函數(shù)(輔助方法)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容