artTemplate基本语法
这边是以标准语法来操作的。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基本语法相关推荐
- html 的模板语法,art-template模板语法
art-template模板语法支持两种模板语法,分别是标准语法和原始语法. 标准语法: 标准语法可以让模板更容易读写,例如:{{ 数据 }} 原始语法: 原始语法具有强大的逻辑处理能力,例如: 纯文 ...
- Art-Template模板语法
Art-Template 使用模板语法(art-template) art-template官网地址(https://aui.github.io/art-template/zh-cn/docs/ins ...
- artTemplate 简介语法模板
https://www.cnblogs.com/susan-home/p/8548579.html
- lodop+art-template实现web端漂亮的小票样式打印
一. 现状 由于之前采用Lodop打印控件(商业版付费,可以使用免费版 但是会有水印)去打印小票,是一行一行的打印,但是不满足UI给到复杂布局的小票样式,所以得重新考虑如何来实现. 二. 介绍 art ...
- WinJS实用开发技巧(2):使用artTemplate打造对话列表
WinJS中提供了列表控件ListView,但是对于一些有一些逻辑判断的处理不是十分友好,我们可以使用JavaScript中的模版机制来自己生成列表,然后添加到DOM中.今天要讲的是artTempla ...
- lodop 小票排版_lodop+art-template实现web端漂亮的小票样式打印
一. 现状 由于之前采用Lodop打印控件(商业版付费,可以使用免费版 但是会有水印)去打印小票,是一行一行的打印,但是不满足UI给到复杂布局的小票样式,所以得重新考虑如何来实现. 二. 介绍 art ...
- art-template辅助函数和子模板
art-template 前端使用 用途:主要用来处理数据和优化性能,与其他的一些模块化处理数据的插件相比,art-template处理性能好 不废话,上代码 1.art-template基本语法使用 ...
- text html artemplete,artTemplate前端模板引擎使用说明
一.一句话介绍 artTemplate是新一代的高性能JavaScript模板引擎二.插件官网三.插件下载四.简单使用(浏览器版) 1. 引入template-web.js 2. 定义数据结果渲染区 ...
- Koa中使用art-template模板引擎,以及如何接受post请求等
直接上代码,每个代码的作用都有注释: 实现了以下功能: 1.koa中如何使用路由 2.koa中如何使用art-template模板引擎 3.koa中如何使用koa-static解析静态文件 4.koa ...
最新文章
- duck typing java_编程语言中的鸭子类型 Duck Typing
- 【瞎搞】 Codeforces Round 276 DIV 2 C.Bits
- 【Python数据结构】——并查集的实现(查找、合并、集合、实例)
- c++中stack容器
- 更适合Pythoner的标记语言Yaml学习总结
- android jni arm x86,使用houdini(Android模拟器)在基于x86的AVD上运行ARM库
- 人工智能——自动驾驶仿真软件
- linux重要的目录之etc
- window 服务(三)
- 解决jz2440不能ping同主机问题
- java自学经历分享
- android抓包为什么有些数据抓不了?抓包的辛酸历程
- Visio对一个对象进行水平翻转
- SD卡与TF卡基础知识
- 时钟芯片 服务器,通用实时时钟芯片
- MATLAB——新建、删除或移动文件夹
- C语言计算三角形的面积
- Windows载图软件 FastStone Capturev9.6
- Windows CMD命令行进行日期计算及本件备份
- 调节睡眠周期(有助睡眠)