JavaScript模板引擎 art-template.js 的使用(script 标签模板使用)
art-template是款性能卓越的 js 模板引擎 https://aui.github.io/art-template/
中文文档地址https://aui.github.io/art-template/zh-cn/docs/
下载地址: https://github.com/aui/art-template
善用JS标签
如果html很短还好说,但是遇到描述里面的这么大段,直接用字符串存储会很困难,因为不光要处理单引号,还需要很多「+」号把字符串一个个连接拼接起来,十分的不方便。给<script>设置type="text/template",标签里面的内容不会被执行,也不会显示在页面上,但是可以在另一个script里面通过获取,然后再通过相关的模板工具进行处理,插入到页面中。这样就把大段的HTML操作从js里面分离开了。
JS标签设计
<script type="text/html" id="temp">
<div class="item">
aaaaaa
</div>
</script>
使用
<script LANGUAGE="JavaScript" >
str=$('#temp').html();
</script>
如果是由数据渲染,简单的自己做循环拼接一下,复杂的就可以用art-template.js插件动态渲染
<!-- diy元素: 搜索栏 -->
<script id="tpl_diy_search" type="text/html">
<div class="drag" id="diy-{{ id }}" data-itemid="{{ id }}">
<div class="diy-search"
style="background: {{ style.background }}; padding-top:{{ style.paddingTop }}px; ">
<div class="inner left {{ style.searchStyle }}" style="background: {{ style.inputBackground }};">
<div class="search-input"
style="text-align: {{ style.textAlign }}; color: {{ style.inputColor }};">
<i class="search-icon iconfont icon-ss-search"></i>
<span>{{ params.placeholder }}</span>
</div>
</div>
</div>
<div class="btn-edit-del">
<div class="btn-edit">编辑</div>
<div class="btn-del">删除</div>
</div>
</div>
</script>
注意JSON数据对应模板的动态填充关系和使用方法(如果有)

循环的例子

以下是标准流程
1在这里引入腾讯的(自行下载引入)
<script src="./art-template.js"></script>
2、编写模板和渲染的容器
<div id="test-wrapper"> </div>
<script id="test-template" type="text/html">
<h1>{{title}}</h1>
</script>
3、获取模板并往模板里插入数据
var data = {
title: "hello world",
desc: "<p>这是一段描述</p>"};
var html = template("test-template",data);
4、把模板渲染到页面
document.getElementById('test-wrapper').innerHTML = html;
或JQUERY写法
$('#test-wrapper').html(html)
赞 (0)
