逃生<% - %>在underscore.js模板中标记

时间:2012-10-06 19:10:20

标签: javascript underscore.js

我正在使用underscore.js进行模板化。在我的项目中,我在服务器上使用它(使用Node.js)来填充几个值。我还在页面上的标签中嵌入了一个模板,我想用AJAX下载的数据多次填写。

基本上,在标签中,我有类似的东西:

<script>
    var UserID = '<%= userID %>';
</script>

我希望在页面发出之前填写。

然后,我有这样的事情:

<script type='template' id='my_template'>
    <li><%- item %></li>
</script>

我希望保留在我的页面上脚本使用的表单中。

当然,您可能已经想到,当我在服务器上呈现页面时,它会抱怨item未定义。有没有办法逃避这些标签,所以下划线会忽略它,只是按原样发送它?我知道我可以为其中一个定义不同的标记分隔符,但使用一致的格式似乎更简单,更清晰。

1 个答案:

答案 0 :(得分:0)

您可以使用_.template设置:

_.template( templateString, data, {
    escape: false, // use a false evaluated value
    evaluate: /(.)^/ // or a not matching regex
});

另见related sections in anonated source code