在underscore.js模板中转义标记

问题描述 投票:3回答:1

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

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

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

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

然后,我有这样的事情:

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

我希望保留在我的页面上的脚本使用的那种形式。

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

javascript underscore.js
1个回答
0
投票

您可以使用_.template设置:

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

另见related sections in anonated source code

© www.soinside.com 2019 - 2024. All rights reserved.