JavaScript模板引擎 art-template.js 的使用

首先給個art-template.js中文文檔

一惰爬、基本使用

1、引入模板引擎(版本為4.13.2)
<script src="https://unpkg.com/art-template@4.13.2/lib/template-web.js"></script>

2、編寫模板和渲染的容器
<div id="test-wrapper"></div>
<script id="test-template" type="text/html">
    <h1>{{title}}</h1>
</script>

3熄攘、獲取模板并往模板里插入數(shù)據(jù)
var data = {
    title: "hello world",
    desc: "<p>這是一段描述</p>"
};
var html = template("test-template",data);

4、把模板渲染到頁面
document.getElementById('test-wrapper').innerHTML = html;

或者用jQuery:

$('#test-wrapper').html(html)

完成代碼如下圖:


template1.png

二彼念、輸出

標(biāo)準(zhǔn)語法 {{ 變量名 }}

{{title}}

原始語法 <%= 變量名 %>

<%= title %>

標(biāo)準(zhǔn)語法支持基本模板語法以及基本 JavaScript 表達(dá)式挪圾;原始語法支持任意 JavaScript 語句,這和 EJS 一樣逐沙。

三哲思、原文輸出

標(biāo)準(zhǔn)語法 {{@ 變量名 }}

{{@ title }}

原始語法 <%- 變量名 %>

<%- title %>

輸出與原文輸出的區(qū)別在于:原文輸出語句不會對 HTML 內(nèi)容進(jìn)行轉(zhuǎn)義處理,例如:

圖片.png

渲染結(jié)果如下圖:

結(jié)果很明顯吩案,原文輸出將標(biāo)簽解析出來了棚赔,而輸出將標(biāo)簽進(jìn)行轉(zhuǎn)義了。原文輸出可能存在安全風(fēng)險徘郭,請謹(jǐn)慎使用靠益。

四、循環(huán)

循環(huán)可以是Arrray或者Object残揉,語法為:

{{each target}}
    {{$index}} {{$value}}
{{/each}}

例如: [圖片上傳失敗...(image-149333-1599533198402)]

渲染結(jié)果如下圖: [圖片上傳失敗...(image-33b951-1599533198402)]

這里的$index$value是默認(rèn)的胧后,也可以自定義:

{{each target val key}}
    {{key}} {{val}}
{{/each}}

五、條件

語法為:

{{if value}} ... {{/if}}
{{if v1}} ... {{else if v2}} ... {{/if}}

六冲甘、過濾器(自定義函數(shù))

template.defaults.imports.show = function(num,str){
    console.log(num, str)
    return num*666
}

使用:

{{num | show}}

或者:

{{ show(num,'hello') }}

第一種方法只能傳入一個參數(shù)即 '|' 前面這個參數(shù)绩卤,第二種沒有限制,跟普通函數(shù)一樣江醇。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末濒憋,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子陶夜,更是在濱河造成了極大的恐慌凛驮,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件条辟,死亡現(xiàn)場離奇詭異黔夭,居然都是意外死亡,警方通過查閱死者的電腦和手機羽嫡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門本姥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人杭棵,你說我怎么就攤上這事婚惫。” “怎么了?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵先舷,是天一觀的道長艰管。 經(jīng)常有香客問我,道長蒋川,這世上最難降的妖魔是什么牲芋? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮捺球,結(jié)果婚禮上缸浦,老公的妹妹穿的比我還像新娘。我一直安慰自己懒构,他們只是感情好餐济,可當(dāng)我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著胆剧,像睡著了一般絮姆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上秩霍,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天篙悯,我揣著相機與錄音,去河邊找鬼铃绒。 笑死鸽照,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的颠悬。 我是一名探鬼主播矮燎,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼赔癌!你這毒婦竟也來了诞外?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤灾票,失蹤者是張志新(化名)和其女友劉穎峡谊,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體刊苍,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡既们,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了正什。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片啥纸。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖婴氮,靈堂內(nèi)的尸體忽然破棺而出脾拆,到底是詐尸還是另有隱情馒索,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布名船,位于F島的核電站,受9級特大地震影響旨怠,放射性物質(zhì)發(fā)生泄漏渠驼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一鉴腻、第九天 我趴在偏房一處隱蔽的房頂上張望迷扇。 院中可真熱鬧,春花似錦爽哎、人聲如沸蜓席。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽厨内。三九已至,卻和暖如春渺贤,著一層夾襖步出監(jiān)牢的瞬間雏胃,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工志鞍, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瞭亮,地道東北人。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓固棚,卻偏偏與公主長得像统翩,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子此洲,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,697評論 2 351