摘要:這星期做了一個數(shù)據(jù)統(tǒng)計系統(tǒng)基于需求便使用了一個模板引擎來渲染數(shù)據(jù)在這里模板引擎同后端的不太一樣主要是前端在開發(fā)過程中對于數(shù)據(jù)處理之后插入到的過程中使用到的工具由于系統(tǒng)是迷你型的在一通搜索之后便決定采用具有如下特點輕量級不到快速上手用法簡單處
這星期做了一個數(shù)據(jù)統(tǒng)計系統(tǒng),基于需求便使用了一個模板引擎來渲染數(shù)據(jù).
在這里模板引擎同后端的不太一樣,主要是前端在開發(fā)過程中,對于數(shù)據(jù)處理之后插入到html的過程中使用到的工具.
由于系統(tǒng)是迷你型的,在一通搜索之后便決定采用ArtTemplate.
ArtTemplate具有如下特點
輕量級(不到3kb)
快速上手,用法簡單
處理速度快
常見的模板引擎還有handlebar,Mustache,jade等,我只試用過handlebar,個人感覺它太過于沉重,配置起來繁瑣,并不適合小項目的數(shù)據(jù)渲染.
artTemplate提供了兩種語法選擇,原生語法和簡潔語法
簡潔語法
{{if admin}} {{include "admin_content"}} {{each list}}{{$index}}. {{$value.user}}{{/each}} {{/if}}
原生語法
<%if (admin){%> <%include("admin_content")%> <%for (var i=0;i <%=i%>. <%=list[i].user%><%}%> <%}%>
模板引擎的原理是基于正則表達式,對字符串進行分析處理.
在兩種語法中,簡介語法易讀性更好,用起來比較順手,比原生語法只多了幾k而已,推薦實用簡潔語法
基本的用法不在此介紹,官網(wǎng)的鏈接寫的很詳細.主要語法如下.
var template = require("art-template"); var data = {list: ["aui", "test"]}; var html = template(__dirname + "/index/main", data);
最后貼一個好用的功能------過濾器
在arttemplate中定義為helper,也就是輔助器.這種工具我之前在寫angular也使用到過,我覺得像ng中命名為過濾器更適合.它本意就是一個數(shù)據(jù)的過濾器,在過濾器中定義一些方法,使得渲染到頁面的數(shù)據(jù)是你所需要的.
有點抽象,先貼一個官方的demo,是一個日期的過濾器.
輔助方法
上面的例子是完整的一個日期過濾器的例子,有需要直接復制使用即可.我自己在項目中是用到的是比較簡單一點的,一個根據(jù)數(shù)據(jù)顯示的不同輸出對應的數(shù)據(jù).
核心代碼如下
就是一個簡單的數(shù)據(jù)轉(zhuǎn)換器,后面針對所有的對應關(guān)系將其寫成了一個對象,再進行過濾
var typeOpt = { "init": "進入頁面", ... "share1": "分享到朋友圈" } template.helper("typeFilter", function (type) { if (typeof type === "string") { for(let i in typeOpt ){ if(type == i){ return typeOpt[i]; } } } 以上是helper的內(nèi)容 最后arttemplate還有一個include的功能,類似php的include函數(shù),不多介紹.
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/90829.html
摘要:來給大家推薦一款模板引擎,會推薦這款模板引擎最主要還是他輕量級,代碼簡潔,好用,一個大概也才幾左右。 對于前端開發(fā)者來說,有一個綁數(shù)據(jù)的模板是多么的幸福,不用我多說大家也知道,終于不用在js中一個個字符串拼接一大推元素數(shù)據(jù)啥的,可以省下我們很多時間。來給大家推薦一款模板引擎artTemplate,會推薦這款模板引擎最主要還是他輕量級,代碼簡潔,好用,一個template.js大概也才幾...
摘要:來給大家推薦一款模板引擎,會推薦這款模板引擎最主要還是他輕量級,代碼簡潔,好用,一個大概也才幾左右。 對于前端開發(fā)者來說,有一個綁數(shù)據(jù)的模板是多么的幸福,不用我多說大家也知道,終于不用在js中一個個字符串拼接一大推元素數(shù)據(jù)啥的,可以省下我們很多時間。來給大家推薦一款模板引擎artTemplate,會推薦這款模板引擎最主要還是他輕量級,代碼簡潔,好用,一個template.js大概也才幾...
摘要:是一個簡單高效地模板引擎,相比于這種復雜的模板引擎,就顯得很嬌小。因為在的數(shù)組引用中那個沒有類似于模板數(shù)組引用中的數(shù)組子項說明上面例子中的或者。 artTemple是一個簡單高效地JavaScript模板引擎,相比于jsRender這種復雜的模板引擎,artTemple就顯得很嬌小。你幾乎可以在網(wǎng)上任意搜一篇博客或者文章,10分鐘的時間你就能基本的掌握它得用法(附上網(wǎng)站:http://...
摘要:簡單介紹模板引擎作為數(shù)據(jù)與界面分離工作中最重要一環(huán),越來越受開發(fā)者關(guān)注。是新一代模板引擎,它采用預編譯方式讓性能有了質(zhì)的飛躍,并且充分利用引擎特性,使得其性能無論在前端還是后端都有極其出色的表現(xiàn)。 簡單介紹 javascript 模板引擎作為數(shù)據(jù)與界面分離工作中最重要一環(huán),越來越受開發(fā)者關(guān)注。 artTemplate 是新一代 javascript 模板引擎,它采用預編譯方式讓性能有了...
摘要:引入文件寫模板模板模板內(nèi)容執(zhí)行模板模板,數(shù)據(jù)此處的數(shù)據(jù)必須是對象格式不是對象要包裝成對象的格式把模板生成的結(jié)構(gòu)添加到頁面目標位置如果目標位置沒有其他的元素可以用如果目標位置還有其他的元素用追加1.引入template文件 2.寫模板 模板內(nèi)容 3.執(zhí)行模板 var html = template(模板ID,數(shù)據(jù)) **此處的數(shù)據(jù)必須是對象格式 不是對象要包裝成對象的格式----...
閱讀 3026·2021-11-22 15:25
閱讀 2347·2021-11-18 10:07
閱讀 1116·2019-08-29 15:29
閱讀 551·2019-08-29 13:25
閱讀 1604·2019-08-29 12:58
閱讀 3281·2019-08-29 12:55
閱讀 2980·2019-08-29 12:28
閱讀 589·2019-08-29 12:16