这边是以标准语法来操作的。javascript引擎的实质就是帮我们把带有JavaScript代码的伪THTML语句编译为HTML。

一.artTemplate基本语法结构

(1).表达式
{{ 与 }} 符号包裹起来的语句则为模板的逻辑表达式。

(2).输出表达式

2.1对内容编码输出:{{content}}
2.2不编码输出:{{#content}}
编码可以防止数据中含有 HTML 字符串,避免引起 XSS 攻击。

(3).变量

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

(4).条件表达式
{{if admin}}
        <p>admin</p>
{{else if code > 0}}
       <p>master</p>
{{else}}
        <p>error!</p>
{{/if}}

(5).遍历表达式
无论数组或者对象都可以用 each 进行遍历。

{{each list as value index}}
    <li>{{index}} - {{value.user}}</li>
{{/each}}

亦可以被简写:
{{each list}}
     <li>{{$index}} - {{$value.user}}</li>
{{/each}}

(6).子模板(模板包含表达式)

a.用于嵌入子模板:

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

b.子模板默认共享当前数据,亦可以指定数据:

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

注意:

①data 数默认值为 $data;标准语法不支持声明 object 与 array,只支持引用变量,而原始语法不受限制。
②art-template 内建 HTML 压缩器,请避免书写 HTML 非正常闭合的子模板,否则开启压缩后标签可能会被意外“优化。

(7).辅助方法
a.使用template.helper(name, callback)注册公用辅助方法:

template.helper('dateFormat', function (date, format) {
    // ..
    return value;
});

b.模板中使用的方式:

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

c.支持传入参数与嵌套使用:
{{time | say:'cd' | ubb | link}}

(8).过滤器
a.注册过滤器

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

过滤器函数第一个参数接受目标值。

b.语法:{{date | timestamp | dateFormat 'yyyy-MM-dd hh:mm:ss'}}
{{value | filter}} 过滤器语法类似管道操作符,它的上一个输出作为下一个输入。

二.模板继承

语法:{{extend './layout.art'}}
{{block 'head'}} ... {{/block}}

模板继承允许你构建一个包含你站点共同元素的基本模板“骨架”。范例:


<!--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 后,将自动应用布局骨架

artTemplate基本语法相关推荐

  1. html 的模板语法,art-template模板语法

    art-template模板语法支持两种模板语法,分别是标准语法和原始语法. 标准语法: 标准语法可以让模板更容易读写,例如:{{ 数据 }} 原始语法: 原始语法具有强大的逻辑处理能力,例如: 纯文 ...

  2. Art-Template模板语法

    Art-Template 使用模板语法(art-template) art-template官网地址(https://aui.github.io/art-template/zh-cn/docs/ins ...

  3. artTemplate 简介语法模板

    https://www.cnblogs.com/susan-home/p/8548579.html

  4. lodop+art-template实现web端漂亮的小票样式打印

    一. 现状 由于之前采用Lodop打印控件(商业版付费,可以使用免费版 但是会有水印)去打印小票,是一行一行的打印,但是不满足UI给到复杂布局的小票样式,所以得重新考虑如何来实现. 二. 介绍 art ...

  5. WinJS实用开发技巧(2):使用artTemplate打造对话列表

    WinJS中提供了列表控件ListView,但是对于一些有一些逻辑判断的处理不是十分友好,我们可以使用JavaScript中的模版机制来自己生成列表,然后添加到DOM中.今天要讲的是artTempla ...

  6. lodop 小票排版_lodop+art-template实现web端漂亮的小票样式打印

    一. 现状 由于之前采用Lodop打印控件(商业版付费,可以使用免费版 但是会有水印)去打印小票,是一行一行的打印,但是不满足UI给到复杂布局的小票样式,所以得重新考虑如何来实现. 二. 介绍 art ...

  7. art-template辅助函数和子模板

    art-template 前端使用 用途:主要用来处理数据和优化性能,与其他的一些模块化处理数据的插件相比,art-template处理性能好 不废话,上代码 1.art-template基本语法使用 ...

  8. text html artemplete,artTemplate前端模板引擎使用说明

    一.一句话介绍 artTemplate是新一代的高性能JavaScript模板引擎二.插件官网三.插件下载四.简单使用(浏览器版) 1. 引入template-web.js 2. 定义数据结果渲染区 ...

  9. Koa中使用art-template模板引擎,以及如何接受post请求等

    直接上代码,每个代码的作用都有注释: 实现了以下功能: 1.koa中如何使用路由 2.koa中如何使用art-template模板引擎 3.koa中如何使用koa-static解析静态文件 4.koa ...

最新文章

  1. duck typing java_编程语言中的鸭子类型 Duck Typing
  2. 【瞎搞】 Codeforces Round 276 DIV 2 C.Bits
  3. 【Python数据结构】——并查集的实现(查找、合并、集合、实例)
  4. c++中stack容器
  5. 更适合Pythoner的标记语言Yaml学习总结
  6. android jni arm x86,使用houdini(Android模拟器)在基于x86的AVD上运行ARM库
  7. 人工智能——自动驾驶仿真软件
  8. linux重要的目录之etc
  9. window 服务(三)
  10. 解决jz2440不能ping同主机问题
  11. java自学经历分享
  12. android抓包为什么有些数据抓不了?抓包的辛酸历程
  13. Visio对一个对象进行水平翻转
  14. SD卡与TF卡基础知识
  15. 时钟芯片 服务器,通用实时时钟芯片
  16. MATLAB——新建、删除或移动文件夹
  17. C语言计算三角形的面积
  18. Windows载图软件 FastStone Capturev9.6
  19. Windows CMD命令行进行日期计算及本件备份
  20. 调节睡眠周期(有助睡眠)

热门文章

  1. 教你一招:Microsoft Office Word已停止工作
  2. qrcode生成二维码(批量)
  3. 【前端】nk前端篇-JS能力测评js(1)
  4. 汽车以太网连接器-市场现状及未来发展趋势
  5. Adobe 手撕 Adobe !!!
  6. python花式索引_ndarray花式索引
  7. realsense r200使用过程记录
  8. 编写一个函数,由实参传来一个字符串, 统计此字符串中字母、数字、空格和其他字符的个数,并输出结果。
  9. xf86-video-intel源码分析2 —— README
  10. 名字竞技场(两种版本(一))