今天做项目的时候用到了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 去掉就没有问题了,也就是说传入的对象必须是全局变量。