javascript模板引擎 artTemplate

1.简单操作1
<script src="template.js"></script>
<script id="test" type="text/html">
<h1><%=title%></h1>
<ul>
    <%for(i = 0; i < list.length; i ++) {%>
        <li>条目内容 <%=i + 1%> :<%=list[i]%></li>
    <%}%>
</ul>
</script>
<div id="content"></div>
<script>
var data = {
    title: '标签',
    list: ['文艺', '博客', '摄影', '电影', '民谣', '旅行', '吉他']
};
var html = template.render('test', data);
document.getElementById('content').innerHTML = html;
</script>
2.简单操作2
<div id="content"></div>
<script src="template.js"></script>
<script >
var source = '<%for(var i=0;i < list.length; i++) { %><div><%=i%>:<%=list[i]%><div><%}%>';
var render = template.compile(source);
var data = {
    title: '标签',
    list: ['文艺', '博客', '摄影', '电影', '民谣', '旅行', '吉他']
};
var html = render(data);
document.getElementById("content").innerHTML=html;
</script>
3.添加辅助函数
<div id="content"></div>
<script src="template.js"></script>
<script >
var source = '<%for(var i=0;i < list.length; i++) { %><div><%=i%>:<%=list[i]%><div><%}%><%=myHelper()%>';
var render = template.compile(source);
var data = {
    title: '标签',
    list: ['文艺', '博客', '摄影', '电影', '民谣', '旅行', '吉他']
};
function helper(a){
    alert(a)
    //自定义内容    
}
template.helper('myHelper',helper(new Date())); //helper函数名称
var html = render(data);
document.getElementById("content").innerHTML=html;
</script>
4.设置界定符
若前端模板语法与后端语法产生冲突,可以修改模板引擎界定符,例如:
template.openTag = "<!--[";
template.closeTag = "]-->";

<div id="content"></div>
<script src="template.js"></script>
<script >
var source = '<h1>{{=title}}</h1>';
template.openTag  = '{{'; //开始定界符
template.closeTag  = '}}';//结束定界符
var render = template.compile(source);
var data = {
    title: '标签',
};
var html = render(data);
document.getElementById("content").innerHTML=html;
</script>
5.嵌入子模板
<%include(id, [data])%>语句可以嵌入子模板,其中第二个参数是可选的,它默认传入当前的数据。
<script id="test" type="text/html">
<h1><%=title%></h1>
<%include('list')%>
</script>
<script id="list" type="text/html">
<ul>
    <%for(i = 0; i < list.length; i ++) {%>
        <li>条目内容 <%=i + 1%> :<%=list[i]%></li>
    <%}%>
</ul>
</script>
5.自定义语法 for if elseif

<script src="template.js"></script>
<script >
var source = '<%if ( tag  == 1 ) {%><h1>1</h1><%} else {%><h1>-1</h1><% } %>'; //if使用
var render = template.compile(source);
var data = {
    tag: 1,
};
var html = render(data);
document.getElementById("content").innerHTML=html;

</script>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值