首頁(yè)技術(shù)文章正文

服務(wù)器端模板引擎art-template的下載和使用

更新時(shí)間:2023-05-19 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

art-lemplate是新一代高性能JavaScript模板引擎,它可以將數(shù)據(jù)與HTML模板更加友好地結(jié)合起來(lái),省去煩瑣的字符串拼接,使代碼更易于維護(hù)。

art-template模板引擎既可以在服務(wù)器端使用,也可以在瀏覽器端使用。此處僅講解art-template模板引擎在服務(wù)器端的使用。art-template模板引擎的下載和使用方法如下。

(1)模板引擎下載命令如下。

npm install artmplate

(2)使用模板引擎時(shí)應(yīng)在j腳本中導(dǎo)入模板引擎,并編譯模板。

//導(dǎo)入模板
const template · require('art-template');
//編譯模板
const result = template('./views/index.html', (
  msg: 'Hello, art-template'
});

上述代碼中,rest用于存儲(chǔ)拼接結(jié)果;template0中的第l個(gè)參數(shù)表示模板文件的位置,第2個(gè)參數(shù)向模板中傳遞要拼接的數(shù)據(jù),對(duì)象類型或?qū)ο髮傩远伎梢灾苯釉谀0逯惺褂谩n-template模板引擎標(biāo)準(zhǔn)語(yǔ)法中引入了變量和輸出量,并支持JavaSeript表達(dá)式,使模板更易于讀寫。下面講解art-template模板引擎的標(biāo)準(zhǔn)語(yǔ)法。

1.變量

在“{{}}”符號(hào)中,使用set關(guān)鍵字來(lái)定義變量a和變量b.示例代碼如下。

{{set a = 1}};
{{set b = 2}};

2.JavaScript表達(dá)式

在“{{}}”符號(hào)中,使用set關(guān)鍵字來(lái)定義變量a和變量b,示例代碼如下。

//JavaScript表達(dá)式
{{a ? b:c}};
{{a‖b}}1:
{{la + b}};

3.條件渲染

art-template模板引擎使用{{f}}…{{/if}}或者 {{if}}…{{ else if}}…{{/if}}來(lái)實(shí)現(xiàn)條件的判斷,通過(guò)判斷來(lái)渲染不同結(jié)果,示例代碼如下。

// if...語(yǔ)法
{{if user}}
  <h2>{{user.name}}</h2>
{{/if}}
// if...else if...語(yǔ)法
{{if userl}}
<h1>{{user1.name}}</h1>
{{else if user2}}
<h2>{{user2.name}}</h2>
{{/if}}

上述代碼中,如果user用戶對(duì)象存在,就將其name屬性的值渲染到<h2>標(biāo)簽中。同理,使用[if]]…lelse if]]…[if]語(yǔ)法實(shí)現(xiàn)多個(gè)條件判斷。如果userl用戶對(duì)象存在,就將其name屬性的值渲染到<hl>標(biāo)簽中;如果user2用戶對(duì)象存在,就將其name屬性的值渲染到<h2>標(biāo)簽中。

4.列表渲染

at-lemplate模板引擎中的列表渲染使用each實(shí)現(xiàn)對(duì)目標(biāo)對(duì)象的循環(huán)遍歷,示例代碼如下。

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

上述代碼中,target 目標(biāo)對(duì)象支持Amay數(shù)組和Objecet對(duì)象類型數(shù)據(jù)的迭代,target 目標(biāo)對(duì)象使用template(模板ID,data)函數(shù)的第2個(gè)參數(shù)來(lái)傳遞,使用“$data[]”中括號(hào)的形式來(lái)訪問模板對(duì)象的屬性。$index表示當(dāng)前索引值,$value表示當(dāng)前索引對(duì)應(yīng)的值。


分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!