日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

art-template入门(三)之语法

發布時間:2023/12/3 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 art-template入门(三)之语法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自??art-template語法

語法

art-template 支持標準語法與原始語法。標準語法可以讓模板易讀寫,而原始語法擁有強大的邏輯表達能力。

標準語法支持基本模板語法以及基本 JavaScript 表達式;原始語法支持任意 JavaScript 語句,這和 EJS 一樣。

一、輸出

標準語法

{{value}} {{data.key}} {{data['key']}} {{a ? b : c}} {{a || b}} {{a + b}}

原始語法

<%= value %> <%= data.key %> <%= data['key'] %> <%= a ? b : c %> <%= a || b %> <%= a + b %>

模板一級特殊變量可以使用?$data?加下標的方式訪問:

{{$data['user list']}}

二、原文輸出

標準語法

{{@ value }}

原始語法

<%- value %>

原文輸出語句不會對?HTML?內容進行轉義處理,可能存在安全風險,請謹慎使用。

三、條件

標準語法

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

原始語法

<% if (value) { %> ... <% } %> <% if (v1) { %> ... <% } else if (v2) { %> ... <% } %>

四、循環

標準語法

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

原始語法

<% for(var i = 0; i < target.length; i++){ %><%= i %> <%= target[i] %> <% } %>
  • target?支持?array?與?object?的迭代,其默認值為?$data。
  • $value?與?$index?可以自定義:{{each target val key}}。
  • 五、變量

    標準語法

    {{set temp = data.sub.content}}

    原始語法

    <% var temp = data.sub.content; %>

    六、模板繼承

    標準語法

    {{extend './layout.art'}} {{block 'head'}} ... {{/block}}

    原始語法

    <% extend('./layout.art') %> <% block('head', function(){ %> ... <% }) %>

    模板繼承允許你構建一個包含你站點共同元素的基本模板“骨架”。范例:

    <!--layout.art--> <!doctype html> <html> <head><meta charset="utf-8"><title>{{block 'title'}}My Site{{/block}}</title>{{block 'head'}}<link rel="stylesheet" href="main.css">{{/block}} </head> <body>{{block 'content'}}{{/block}} </body> </html>
    <!--index.art--> {{extend './layout.art'}}{{block 'title'}}{{title}}{{/block}}{{block 'head'}}<link rel="stylesheet" href="custom.css"> {{/block}}{{block 'content'}} <p>This is just an awesome page.</p> {{/block}}

    渲染 index.art 后,將自動應用布局骨架。

    七、子模板

    標準語法

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

    原始語法

    <% include('./header.art') %> <% include('./header.art', data) %>
  • data?數默認值為?$data;標準語法不支持聲明?object?與?array,只支持引用變量,而原始語法不受限制。
  • art-template 內建 HTML 壓縮器,請避免書寫 HTML 非正常閉合的子模板,否則開啟壓縮后標簽可能會被意外“優化。
  • 八、過濾器

    注冊過濾器

    template.defaults.imports.dateFormat = function(date, format){/*[code..]*/}; template.defaults.imports.timestamp = function(value){return value * 1000};

    過濾器函數第一個參數接受目標值。

    標準語法

    {{date | timestamp | dateFormat 'yyyy-MM-dd hh:mm:ss'}}

    {{value | filter}}?過濾器語法類似管道操作符,它的上一個輸出作為下一個輸入。

    原始語法

    <%= $imports.dateFormat($imports.timestamp(date), 'yyyy-MM-dd hh:mm:ss') %>

    如果想修改?{{?}}?與?<%?%>,請參考?解析規則。

    總結

    以上是生活随笔為你收集整理的art-template入门(三)之语法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。