首页 技术 正文
技术 2022年11月21日
0 收藏 408 点赞 4,889 浏览 1174 个字

1、 添加辅助方法

“template.helper(name, callback)“辅助方法一般用来进行字符串替换,如 UBB 替换、脏话替换等。

例如扩展一个UBB替换方法:

 template.helper('$ubb2html', function (content) {
return content
.replace(/\[b\]([^\[]*?)\[\/b\]/igm, '<b>$1</b>')
.replace(/\[i\]([^\[]*?)\[\/i\]/igm, '<i>$1</i>')
.replace(/\[u\]([^\[]*?)\[\/u\]/igm, '<u>$1</u>')
.replace(/\[url=([^\]]*)\]([^\[]*?)\[\/url\]/igm, '<a href="$1" rel="external nofollow" >$2</a>')
.replace(/\[img\]([^\[]*?)\[\/img\]/igm, '<img src="$1" />');
});

在模板中的使用方式:

<%=$ubb2html(content) %>

注意:引擎不会对辅助方法输出的 HTML 字符进行转义。

2、嵌入子模板

“<%include(id, [data])%>“语句可以嵌入子模板,其中第二个参数是可选的,它默认传入当前的数据。

artTemplate模板使用补充

3、不转义HTML

模板引擎默认数据包含的 HTML 字符进行转义以避免 XSS 漏洞,若不需要转义的地方可使用“==“。

例如:<%==value%>

若需要关闭默认转义,可以设置“template.isEscape = false“。

4、 在js中存放模板

var source =
'<ul>'
+ '<% for (var i = 0; i < list.length; i ++) { %>'
+ '<li>索引 <%= i + 1 %> :<%= list[i] %></li>'
+ '<% } %>'
+ '</ul>';var data = {
list: ['文艺', '博客', '摄影', '电影', '民谣', '旅行', '吉他']
};var render = template.compile(source);
var html = render(data);
document.getElementById('content').innerHTML = html;

5、模板编码规范
  1、不能使用 javascript 关键字作为模板变量(包括 ECMA5 严格模式下新增的关键字):

  2、模板运行在沙箱中,内部无法访问外部变量,除非给模板定义辅助方法。例如: template.helper(‘Math’, Math)

所有演示例子:http://aui.github.com/artTemplate/demo/index.html

本文章内容摘抄自:http://www.lvtao.net/web/javascript-artTemplate.html

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,951
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,477
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,290
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,107
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,739
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,773