我正在使用下划线+表达来呈现网页,这是一个模板示例:
<!doctype>
<html>
<head>
<meta charset="utf-8">
<title><%= title %></title>
</head>
<body>
<div class="description"><%= description %></div>
</body>
</html>
到目前为止一切都很好,但是我想在页面中使用以下标记:
<script type="text/template">
<div class="foo"><%= bar %></div>
</script>
如果我将使用它,那么服务器端下划线将尝试解析它,这不是我的意图,我也想在客户端使用_.template。
有什么办法可以忽略模板的某些部分吗?我浏览了文档,但我没有找到任何内容。像这样的东西真的很有用:
<%! %>
示例:
<%!
<script type="text/template">
<%= text %>
</script>
%>
我知道我可以编辑部分页面,但是有更好的解决方案吗?
答案 0 :(得分:2)
您可以将客户端模板设置设置为使用不同的插值设置,这样它们就不会与服务器端设置冲突。见http://underscorejs.org/#template
_.templateSettings = {
interpolate: /<%!(.+?)%>/g
};
注意你可能不得不逃避一些角色。