在underScore.js中创建多个_.templateSettings

时间:2014-05-20 10:17:05

标签: javascript backbone.js underscore.js backbone-views underscore.js-templating

是否可以在_.templateSettings中创建多个underscore.js

因为我的项目HTML文件中很少有'<% %>,<%=%>'

但在JSP中会抛出编译错误。

我将ERB个样式更改为'<@ @>,<@= @>'等,但他们要求我按照HTMLJSP的单独样式进行操作。

我正在努力创建单独的_.templateSettings。否则我们应该创建一个应该同时接受'<% %>,<%= %>,<@ @>,<@= @>'等的方法。

我正在使用backbonespring MVC

1 个答案:

答案 0 :(得分:2)

尝试为每个模板设置单独的_.templateSettings将会变得混乱并且容易出错。 _.templateSettings中的正则表达式几乎可以是任何内容(只要它们具有适当的捕获组),因此您可以使用与<%...%><@...@>分隔符匹配的正则表达式。像这样:

_.templateSettings = {
    evaluate    : /<[%@]([\s\S]+?)[%@]>/g,
    interpolate : /<[%@]=([\s\S]+?)[%@]>/g,
    escape      : /<[%@]-([\s\S]+?)[%@]>/g
};

应该做的伎俩。当然,这会让<% ... @>通过,但如果您关心这类事情,可以在正则表达式中添加适当的反向引用。

演示:http://jsfiddle.net/ambiguous/9Mqr4/