使用Engine.use("forView").getTemplate("template").renderString(data) 渲染模板时,如何设置可以使模板中部分命令字不被渲染执行。
比如下面的代码,在渲染的时候,如何让#define这些命令字不被当成指令执行?
#include("/template/common/layout/_page_layout.html")
#@layout()
#define css()
<style>
</style>
#end
#define js()
<script type="text/javascript">
layui.use(['form', 'layer'], function () {
// 操作对象
var form = layui.form
, layer = layui.layer
, $ = layui.jquery;
form.on('submit(sub)', function(data){
util.sendAjax ({
type: 'POST',
url: '#(ctxPath)/system/data/postAdd',
data: $('#addForm').serialize(),
loadFlag: true,
success : function(data){
pop_close();
}
});
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
});
});
</script>
#end
#define content()
<div class="x-body">
</div>
#end
#[[#]]#include("/template/common/layout/_page_layout.html")
另一个是使用输出指令:
#("#")include("/template/common/layout/_page_layout.html")
当然,如果你希望更美观的话,可以有多种调整方式:
#[[
#include("/template/common/layout/_page_layout.html")
]]#
#("#include")("/template/common/layout/_page_layout.html")
建议使用“原样输出指令”:
#[[ ]]#