如何同时在服务器和浏览器上使用下划线js模板

时间:2013-07-04 01:58:54

标签: javascript node.js templates underscore.js

我正在尝试在服务器和浏览器上使用下划线模板,但浏览器端无效。

我在呈现页面时在服务器端使用_.templates,默认模板分隔符< %%>

我也试图在浏览器端使用它们,在这种情况下更改模板分隔符

以下是代码:

_.templateSettings = { //use mustache style on browser
              interpolate : /\{\{(.+?)\}\}/g
            };

var compile=_.template($('#friend_row').html());
var result=compile({hello: 'hello world'});

在html主体中我定义了以下模板:

<script id="friend_row" type="text/template">
{{=hello}}
</script>

这会产生错误:

  

SyntaxError:语法错误[在此错误时出现错误]

     

((_ T =(=你好))== NULL '':<?/ em>的_t)+

     

underscore-min.js(第4行,第7栏)

1 个答案:

答案 0 :(得分:1)

{{=hello}}是无效的表达式。大括号里面的内容必须是一个有效的javascript表达式,但事实并非如此。您只需要{{hello}}