artTemplate前端模板引擎使用說明

一、一句話介紹

artTemplate是新一代的高性能JavaScript模板引擎

二、插件官網

https://aui.github.io/art-template/

三、插件下載

完整版:https://github.com/aui/art-template

瀏覽器版:https://github.com/aui/art-template/tree/master/lib

四、簡單使用(瀏覽器版)

1. 引入template-web.js

<script type="text/javascript" src="template-web.js"></script>

2. 定義數據結果渲染區

<div id="content"><div>

3. 定義數據模板

    使用一個type="text/html"的script標籤定義數據存放模板

<script id="data-tpl" type="text/html">
<h1>{{title}}</h1>
<ul>
    {{each list value i}}
        <li>索引 {{i + 1}} :{{value}}</li>
    {{/each}}
</ul>
</script>

4. 渲染數據

var data = {
    title: '標籤',
    list: ['文藝', '博客', '攝影', '電影', '民謠', '旅行', '吉他']
};
var html = template('data-tpl', data);
document.getElementById('content').innerHTML = html;

五、artTemplate基礎語法(瀏覽器版)

1. 變量輸出

{{value}}                 -- 輸出單個變量

{{data.key}}            -- 輸出對象中的某個屬性

{{data['key']}}          -- 輸出數組中的某個屬性

{{a ? b : c}}               -- 三目運算

{{a || b}}                  -- 爲某個變量設置默認值b

{{a + b}}                  -- 表達式運算

{{@ value }}            -- 原樣輸出(變量前加@符號)

2. 條件判斷

{{if value}} ... {{/if}}

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

3. 循環遍歷

形式一(默認key和value)

{{each target}}

{{$index}} {{$value}}

{{/each}}

形式二(自定義key和value)

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

4. 引入子模板

-- 子模板的默認變量爲data

{{include './header.art'}}

-- 向子模板傳遞自定義變量

{{include './header.art' data}}

注意:默認情況下,子模板中的數據變量名爲data。標準語法不支持對象和數組的聲明,只支持引用變量。但是,原始語法沒有此限制。

5. 自定義過濾器

第一步:註冊過濾器

template.defaults.imports.dateFormat = function(value, format) {...};

template.defaults.imports.timestamp = function(value) {...};

注意:過濾器至少需要一個參數,且第一個參數表示原始變量值,過濾器最後必須要return一個返回值。

第二步:使用過濾器

{{value | 過濾器名稱}}                 -- 只有一個參數的過濾器調用方式

{{value | 過濾器名稱 參數}}         -- 有一個以上參數的過濾器調用方式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章