今天做项目的时候用到了laytpl模板引擎,代码如下:
/**
* form提交成功回调函数
*/
querySuc = function(data){
common.btnDisable(false);
if(data.result){
var pebaseInfo = data.value.baseInfo;
var gettpl = $("#basicinfo").html();
var tpl = laytpl(gettpl);
tpl.render(pebaseInfo,function(elem){
$("#pebase").html(elem);
});
}else{
common.alert(data.message,8);
}
};
</script>
<script id="basicinfo" type="text/html">
<table class="table table-bordered">
<tbody>
<tr>
<td width="8%">学 历</td>
<td width="12%">`pebaseInfo`.`education`</td>
<td width="8%">证 件 号</td>
<td colspan="5" width="52%">`pebaseInfo`.`idCard`</td>
<td width="8%">档 案 号</td>
<td width="12%">`pebaseInfo`.`myarchivesId`</td>
</tr>
<tr>
<td width="8%">职 业</td>
<td width="12%">`pebaseInfo`.`job`</td>
<td width="8%">姓 名</td>
<td width="16%">`pebaseInfo`.`name`</td>
<td width="8%">性 别</td>
<td width="10%">`pebaseInfo`.`sex`</td>
<td width="8%">年 龄</td>
<td width="10%">`pebaseInfo`.`age`岁</td>
<td width="8%">电话</td>
<td width="12%">`pebaseInfo`.`phone`</td>
</tr>
</tbody>
</table>
</script>
<body>
<div id="pebase"></div>
</body>
运行的时候总是提示 Laytpl Error:ReferenceError: pebaseInfo is not defined 这个错误,后来发现将 “var pebaseInfo = data.value.baseInfo;” 话中的var 去掉就没有问题了,也就是说传入的对象必须是全局变量。