4

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

基本上,在标签中,我有这样的东西:

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

我想在页面发出之前填写。

然后,我有这样的事情:

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

我想保留该表单以供我页面上的脚本使用。

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

4

1 回答 1

1

您可以使用_.template设置:

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

另请参阅anonated source code 中的相关部分

于 2012-10-08T10:57:38.357 回答