前两天写前端遇到很多table 和 表单需要拼接的问题 , 一堆的字符串 , 页面显得冗长,又不好维护。于是有了下文。
话不多说,上代码:
首先引用一个js文件:
<script src="~/Content/js/tmpl.min.js"></script>
前台:
<body>
<div>
<p id="result">
<script type="text/x-tmpl" id="tmp">
//“o”官方给的解释是对模板函数的数据参数的引用
<span>{%=o.name%}</span>
<span>{%=o.sex%}</span>
<table class="table table-">
{% for(var i=0;i<o.list.length;i++){ %}
<tr><td>a</td><td>{%=o.list[i].a%}</td></tr>
<tr><td>b</td><td>{%=o.list[i].b%}</td></tr>
{% } %}
</table>
</script>
</p>
</div>
</body>
<script>
$(document).ready(function () {
GetData();
});
function GetData() {
$.ajax({
type: "get",
url: "/default1/data",
dataType: "json",
success: function (obj) {
//obj是字符串,转成json对象需要加"("+obj+")"
var o = eval("("+obj+")");
document.getElementById("result").innerHTML = tmpl('tmp', o);
}
});
}
</script>
数据从这里来:
public JsonResult Data()
{
var json = "{'name':'小明','sex':'男','list':[{'a':'1','b':'2'},{'a':'3','b':'4'}]}";
return Json(json, JsonRequestBehavior.AllowGet);
}
附带tmpl.js:https://files.cnblogs.com/files/tony-brook/JavaScript-Templates-3.6.0.rar