//第一步:編寫模版。你可以使用一個(gè)script標(biāo)簽存放模板,如:
<script id="demo" type="text/html">
<h3>{{ d.title }}</h3>
<ul>
{{# layui.each(d.list, function(index, item){ }}
<li>
<span>{{ item.modname }}</span>
<span>{{ item.alias }}:</span>
<span>{{ item.site || '' }}</span>
</li>
{{# }); }}
{{# if(d.list.length === 0){ }}
無(wú)數(shù)據(jù)
{{# } }}
</ul>
</script>
//第二步:建立視圖。用于呈現(xiàn)渲染結(jié)果。
<div id="view"></div>
//第三步:渲染模版
var data = { //數(shù)據(jù)
"title":"Layui常用模塊"
,"list":[{"modname":"彈層","alias":"layer","site":"layer.layui.com"},{"modname":"表單","alias":"form"}]
}
var getTpl = demo.innerHTML
,view = document.getElementById('view');
laytpl(getTpl).render(data, function(html){
view.innerHTML = html;
});
模板語(yǔ)法
{{ d.field }} 不轉(zhuǎn)義
{{= d.field }} 轉(zhuǎn)義
{{# JavaScript表達(dá)式 }}
{{#
var fn = function(){
return '2017-08-18';
};
}}
{{# if(true){ }}
開始日期:{{ fn() }}
{{# } else { }}
已截止
{{# } }}
{{! template !}}
對(duì)一段指定的模板區(qū)域進(jìn)行過濾,即不解析該區(qū)域的模板。注:layui 2.1.6 新增
<div> {{! 這里面的模板不會(huì)被解析 !}}</div>
重新定義模板分隔符
laytpl.config({
open: '<%',
close: '%>'
});
//分割符將必須采用上述定義的
laytpl([
'<%# var type = "公"; %>' //JS 表達(dá)式
,'<% d.name %>是一位<% type %>猿。'
].join('')).render({
name: '賢心'
}, function(string){
console.log(string); //賢心是一位公猿
});