国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

輕量級(jí)模板引擎ArtTemplate

curried / 2099人閱讀

摘要:這星期做了一個(gè)數(shù)據(jù)統(tǒng)計(jì)系統(tǒng)基于需求便使用了一個(gè)模板引擎來渲染數(shù)據(jù)在這里模板引擎同后端的不太一樣主要是前端在開發(fā)過程中對于數(shù)據(jù)處理之后插入到的過程中使用到的工具由于系統(tǒng)是迷你型的在一通搜索之后便決定采用具有如下特點(diǎn)輕量級(jí)不到快速上手用法簡單處

這星期做了一個(gè)數(shù)據(jù)統(tǒng)計(jì)系統(tǒng),基于需求便使用了一個(gè)模板引擎來渲染數(shù)據(jù).
在這里模板引擎同后端的不太一樣,主要是前端在開發(fā)過程中,對于數(shù)據(jù)處理之后插入到html的過程中使用到的工具.

由于系統(tǒng)是迷你型的,在一通搜索之后便決定采用ArtTemplate.

ArtTemplate具有如下特點(diǎn)

輕量級(jí)(不到3kb)

快速上手,用法簡單

處理速度快

常見的模板引擎還有handlebar,Mustache,jade等,我只試用過handlebar,個(gè)人感覺它太過于沉重,配置起來繁瑣,并不適合小項(xiàng)目的數(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%>
<%}%> <%}%>

模板引擎的原理是基于正則表達(dá)式,對字符串進(jìn)行分析處理.
在兩種語法中,簡介語法易讀性更好,用起來比較順手,比原生語法只多了幾k而已,推薦實(shí)用簡潔語法

基本的用法不在此介紹,官網(wǎng)的鏈接寫的很詳細(xì).主要語法如下.

var template = require("art-template");
var data = {list: ["aui", "test"]};

var html = template(__dirname + "/index/main", data);

最后貼一個(gè)好用的功能------過濾器
在arttemplate中定義為helper,也就是輔助器.這種工具我之前在寫angular也使用到過,我覺得像ng中命名為過濾器更適合.它本意就是一個(gè)數(shù)據(jù)的過濾器,在過濾器中定義一些方法,使得渲染到頁面的數(shù)據(jù)是你所需要的.

有點(diǎn)抽象,先貼一個(gè)官方的demo,是一個(gè)日期的過濾器.


輔助方法

上面的例子是完整的一個(gè)日期過濾器的例子,有需要直接復(fù)制使用即可.我自己在項(xiàng)目中是用到的是比較簡單一點(diǎn)的,一個(gè)根據(jù)數(shù)據(jù)顯示的不同輸出對應(yīng)的數(shù)據(jù).
核心代碼如下

就是一個(gè)簡單的數(shù)據(jù)轉(zhuǎn)換器,后面針對所有的對應(yīng)關(guān)系將其寫成了一個(gè)對象,再進(jìn)行過濾

var typeOpt = {
    "init": "進(jìn)入頁面",
    ...
    "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還有一個(gè)include的功能,類似php的include函數(shù),不多介紹.

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/90829.html

相關(guān)文章

  • 淺談模板引擎artTemplate

    摘要:來給大家推薦一款模板引擎,會(huì)推薦這款模板引擎最主要還是他輕量級(jí),代碼簡潔,好用,一個(gè)大概也才幾左右。 對于前端開發(fā)者來說,有一個(gè)綁數(shù)據(jù)的模板是多么的幸福,不用我多說大家也知道,終于不用在js中一個(gè)個(gè)字符串拼接一大推元素?cái)?shù)據(jù)啥的,可以省下我們很多時(shí)間。來給大家推薦一款模板引擎artTemplate,會(huì)推薦這款模板引擎最主要還是他輕量級(jí),代碼簡潔,好用,一個(gè)template.js大概也才幾...

    zeyu 評(píng)論0 收藏0
  • 淺談模板引擎artTemplate

    摘要:來給大家推薦一款模板引擎,會(huì)推薦這款模板引擎最主要還是他輕量級(jí),代碼簡潔,好用,一個(gè)大概也才幾左右。 對于前端開發(fā)者來說,有一個(gè)綁數(shù)據(jù)的模板是多么的幸福,不用我多說大家也知道,終于不用在js中一個(gè)個(gè)字符串拼接一大推元素?cái)?shù)據(jù)啥的,可以省下我們很多時(shí)間。來給大家推薦一款模板引擎artTemplate,會(huì)推薦這款模板引擎最主要還是他輕量級(jí),代碼簡潔,好用,一個(gè)template.js大概也才幾...

    caohaoyu 評(píng)論0 收藏0
  • 簡單高效地JavaScript模板引擎——artTemplate

    摘要:是一個(gè)簡單高效地模板引擎,相比于這種復(fù)雜的模板引擎,就顯得很嬌小。因?yàn)樵诘臄?shù)組引用中那個(gè)沒有類似于模板數(shù)組引用中的數(shù)組子項(xiàng)說明上面例子中的或者。 artTemple是一個(gè)簡單高效地JavaScript模板引擎,相比于jsRender這種復(fù)雜的模板引擎,artTemple就顯得很嬌小。你幾乎可以在網(wǎng)上任意搜一篇博客或者文章,10分鐘的時(shí)間你就能基本的掌握它得用法(附上網(wǎng)站:http://...

    voyagelab 評(píng)論0 收藏0
  • js模板引擎——art Template

    摘要:簡單介紹模板引擎作為數(shù)據(jù)與界面分離工作中最重要一環(huán),越來越受開發(fā)者關(guān)注。是新一代模板引擎,它采用預(yù)編譯方式讓性能有了質(zhì)的飛躍,并且充分利用引擎特性,使得其性能無論在前端還是后端都有極其出色的表現(xiàn)。 簡單介紹 javascript 模板引擎作為數(shù)據(jù)與界面分離工作中最重要一環(huán),越來越受開發(fā)者關(guān)注。 artTemplate 是新一代 javascript 模板引擎,它采用預(yù)編譯方式讓性能有了...

    2i18ns 評(píng)論0 收藏0
  • 模板引擎artTemplate的使用

    摘要:引入文件寫模板模板模板內(nèi)容執(zhí)行模板模板,數(shù)據(jù)此處的數(shù)據(jù)必須是對象格式不是對象要包裝成對象的格式把模板生成的結(jié)構(gòu)添加到頁面目標(biāo)位置如果目標(biāo)位置沒有其他的元素可以用如果目標(biāo)位置還有其他的元素用追加1.引入template文件 2.寫模板   模板內(nèi)容 3.執(zhí)行模板 var html = template(模板ID,數(shù)據(jù))   **此處的數(shù)據(jù)必須是對象格式 不是對象要包裝成對象的格式----...

    Imfan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<