<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title>dottest</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dot/1.0.3/doT.min.js">
</script>
</head>
<body>
<!--HTML部分-->
<script id="j-tmpl" type="text/template">
{{ if(it.success){ }}
<h2>results:</h2>
<ul>
{{ for (var i = 0, l = it.data.length; i < l; i++) { }}
<li>
<h5>{{=it.data[i].title}}</h5>
<p>{{!it.data[i].message}}</p>
</li>
{{ } }}
<ul>
{{ }else{ }}
<h2>暂无数据</h2>
{{ } }}
</script>
<!--javascript部分-->
<script>
var obj = {
success: true,
data:[
{title:'数据1',message:"数据1的内容"},
{title:'数据2',message:"数据2的内容"}
]
}
var tmpl = document.getElementById('j-tmpl').innerHTML;
var doTtmpl = doT.template(tmpl);
console.log(doTtmpl(obj ));
document.write(doTtmpl(obj ));
</script>
</body>
</html>
7.30更新:
数组实例:
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title>dotarray</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dot/1.0.3/doT.min.js">
</script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
</head>
<body>
<!--HTML模板部分-->
<script id="fruitstmpl" type="text/template">
{{~it:value:index}}
<div>{{= index+1 }}、{{= value }}!</div>
{{~}}
</script>
<!-- 插入位置 -->
<div id="fruits"></div>
<!--javascript部分-->
<script>
fruit = ["banana","apple","orange"];
var arrText = doT.template($("#fruitstmpl").text());
$("#fruits").html(arrText(fruit));
</script>
</body>
</html>
我的感觉是,如果这个页面是 php 写的,那么那个循环肯定是在读取数据库,然后显示了。然而单纯由 HTML 和 js 写的页面,利用 dot 可以将数据和页面显示分离开,可以先将页面的框架写出来,后面可以直接按照格式供应数据,就可以实现快速开发。
相关文章推荐: