注释版templateJS函数说明
- template(fn, options)
返回有数据填充后的模板字符串
是template.render(fn, options)快捷方式,具体详情可以查看template.render() - template.compile(fn)
返回待填充数据的编译函数。
fn: 包含注释文本的函数
如果结构多次被使用,可以用变量保存此编译函数,再次使用。 - template.render(fn, options)
返回有数据填充后的模板字符串
options: 填充数据对象
fn: 包含注释文本的函数 - template._getTmpl(fn)
解析函数内注释文本返回模板字符串
fn: 包含注释文本的函数
使用实例
注释函数
function() {
/*!
...
<div class="album-desc"><% desc %></div>
*/
return false;
}
把添加注释的函数传递给template._getTmpl(),可以获得注释文本内容fn.toString(),等待下一步的模板解析。
注意:
a. 注释文本的开头需要添加感叹号!
b.注释后面需要添加return false;语句,否则将解析不到注释文本。
template.compile()
function albumItemCompile () {
return template.compile(function() {/*!
<li class="album-item">
<div class="ellipsis album-item-title"><% name %></div>
<div class="album-top">
<div class="album-cover">
<img src="<% defCover %>" alt="">
<i class="album-img"></i>
</div>
</div>
<div class="album-bottom">
<div class="album-cover mask mask-cover">
<img src="<% defCover %>" alt="">
</div>
</div>
</li>
*/
return false;
});
}
对注释文本解析,返回能填充数据的编译函数。
可保存此函数,这样多次使用而只解析一次。常见的有列表项模板的编译函数。
template.render()
var d = template.render(function() {/*!
<div class="album-data"><% data %></div>
*/
return false;
}, { data: data });
$('body').innerHtml = d;
返回填充了数据的html字符串。此函数可以用template(fn, data)代替。
参考链接:
JavaScript template engine in just 20 lines
函数内巧用注释实现多行文本拼接