酒类公司网站模板,最新新闻热点事件2024,知乎网站怎么做推广,怎么做网站的用户注册转载自 art-template语法
语法
art-template 支持标准语法与原始语法。标准语法可以让模板易读写#xff0c;而原始语法拥有强大的逻辑表达能力。
标准语法支持基本模板语法以及基本 JavaScript 表达式#xff1b;原始语法支持任意 JavaScript 语句#xff0c;这和 EJS …转载自 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
headmeta charsetutf-8title{{block title}}My Site{{/block}}/title{{block head}}link relstylesheet hrefmain.css{{/block}}
/head
body{{block content}}{{/block}}
/body
/html!--index.art--
{{extend ./layout.art}}{{block title}}{{title}}{{/block}}{{block head}}link relstylesheet hrefcustom.css
{{/block}}{{block content}}
pThis 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) %如果想修改 {{ }} 与 % %请参考 解析规则。