1dot.js github地址:
http://olado.github.io/dot/
实例1:简单
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript" src="../../dot.js"></script>
<script type="text/javascript" src="http://hbjltv.com/static/js/jquery-1.11.1.js"></script>
</head>
<body>
<div id="interpolationtmpl">
<div>hi {{=it.name}}!</div>
<div>{{=it.age || ''}}</div>
</div>
<hr/>
<div id="interpolation"></div>
<script type="text/javascript">
var datainter = {"name": "jake", "age": 31};
var intertext = dot.template($("#interpolationtmpl").html());
$("#interpolation").html(intertext(datainter));
</script>
</body>
</html>
运行结果:
实例二:条件判断
<div id="conditionstmpl">
{{? !it.name }}
<div> 你还没有名字</div>
{{?? }}
<div>oh, i love your name, {{=it.name}}!</div>
{{?}}
<div id="condition"></div>
var dataencode = {"name": "黄威", "age": 31};
var intertext = dot.template($("#conditionstmpl").html());
$("#condition").html(intertext(dataencode));
实例三:循环+条件判断
<div id="evaluationtmpl">
{{ for(var prop in it) { }}
{{? typeof it[prop]=='object' }}
<div style="font-weight: bold;" >key:{{= prop }}---value:</div>
{{ for(var prop2 in it[prop]) { }}
<div style="margin-left: 20px;" >key:{{= prop2 }}---value:{{= it[prop][prop2] }}</div>
{{ } }}
{{?? }}
<div>key:{{= prop }}---value:{{= it[prop] }}</div>
{{?}}
{{ } }}
<div id="evaluation"></div>
var dataeval = {
"name": "jake",
"age": 31,
"interests": ["basketball", "hockey", "photography"],
"contact": {"email": "[email protected]", "phone": "999999999"}
};
var evaltext = dot.template($("#evaluationtmpl").html());
$("#evaluation").html(evaltext(dataeval));
运行结果:
源码下载地址:
http://pan.baidu.com/s/1c0hfyb2
说明:1,{{? typeof it[prop]=='object' }} 表示条件判断,结束标签是{{?}}2, {{?? }}是条件判断的else3,{{ 和{{? 中均可以使用原生的js语法,如for,typeof 等4,模板并不是一定要放在script标签中,也可以放在隐藏的div标签中
<a href="http://hw1287789687.iteye.com/">iteye博客主页</a>