underscore.js模板错误

时间:2011-10-04 03:56:36

标签: javascript underscore.js

我正在尝试将.txt文件加载到<div>,当.txt包含这样的代码时

<h1>Hello <%= name %></h1>

它工作正常,但是当我有这样的代码时

<select name="action_edit" id="task_action_edit">
    <option value="none">None</option>
    <%
    foreach(actions as action) {
        if(action['id'] == 2) {
        %>
            <option selected="selected" value="<%= action['id'] %>" action_abbr="<%= action['title'] %>">
                <%= action['title'] %>
            </option>
        <%                                
        } else {
        %>
            <option value="<%= action['id'] %>" action_abbr="<%= action['title'] %>">
                <%= action['title'] %>
            </option>
        <%
        }
    }
    %>
</select>
当我将此.txt代码加载到div

时,Firefox会向我显示此错误
missing ) after argument list
[Break On This Error] var __p=[],print=function(){__p.push.a... </select>');}return __p.join('');
underscore.js (line 779)

我做错了什么?

谢谢,

1 个答案:

答案 0 :(得分:1)

Underscore's templates<% ... %>分隔符中使用JavaScript。这样:

foreach(actions as action) {

不是JavaScript,这可能会导致您看到的奇怪错误。也许你的意思是:

for(action in actions) {

在你的模板中。