template.js模板变量如果是一个包含html标签的字符串,那么会被强制转义,因为可能会导致XSS攻击。
如果这个字符串是可信任的,那么可以在变量前加@就可以解决了,比如:{{@data}},老版本的template.js使用#,比如:{{#data}}
代码示例:
<script id="iddata" type="text/html">
<div class="row">
<p>{{userid}} - {{@usertype | usertypeflag}}</p>
</div>
</script>
<script type="text/javascript">
function usertypeflag( usertype ){
if( usertype == 1 )
{
return '<span class="label label-important">普通</span>';
}
if( usertype == 2 )
{
return '<span class="label label-important">VIP</span>';
}
return "";
}
</script>