1、模板引擎
1)模板+数据=>静态页面片段
2)art-template性能较好
分支语法:
{{if value}} ... {{/if}}
{{if v1}} ... {{else if v2}} ... {{/if}}
循环语法:
{{each target}}
{{$index}} {{$value}}
{{/each}}
3)在script标签内书写模板引擎代码,type='text/html',可给定id
模板的作用就是把模板和数据一起生成一个静态的HTML片段,其使用步骤是
<script type="text/html" id="temp"><!--假数据-->
<h1>{{title}}</h1>
{{if menus}}
{{each menus as value i}}
<div>{{value}}==={{i}}</div>
{{/each}}
{{/if}}
</script>
<script>
var data = {
title: '美食信息',
menus: ['鸡肉饭', '猪扒包', '鸡丝面', '凉拌牛腩']
}
var html=template('temp',data)//模板名,数据
document.write(html)
</script>
4)不想让浏览器解析标签可使用转义符#
如
{{#value}}
5)在js中存放模板
我们可以把模板以字符串的形式拼接后存起来。利用
template.compile(模板字符串变量名)进行渲染后返回的结果是
一个函数,我们传参后进行调用就可以进行使用了
<script type="text/javascript" id="temp">
var tep = "<h1>" + "{{title}}" + "</h1>" +
"{{if menus}}" + "{{each menus as value i}}" +
"<div>" + "{{value}}" + "===" + "{{i}}" + "</div>" +
"{{/each}}" +
"{{/if}}"
</script>
<script>
var data = {
title: '美食信息',
menus: ['鸡肉饭', '猪扒包', '鸡丝面', '凉拌牛腩']
}
var render = template.compile(tep)
var html=render(data)
document.write(html)
</script>