下划线_.template未捕获的语法错误令牌

时间:2013-07-19 22:17:32

标签: backbone.js underscore.js

我正在研究Addy Osmani的Backbone Fundamentals教程。 http://addyosmani.github.io/backbone-fundamentals/#application-view

我在Chrome中收到了“未捕获的SyntaxError:意外的令牌%”。

它指向Underscore.js中的一行以及我的views / app.js中的一行。

在views / app.js中,它所指向的行是:

statsTemplate: _.template( $('#stats-template').html() ),

它在错误消息中显示“匿名函数”。这是从教程中复制的,所以我不确定它为什么会抛出错误。感谢

模板标记:

<script type="text/template" id="stats-template">
    <span id="todo-count">
       <strong>
           <%= remaining %>
       </strong>
       <%= remaining === 1 ? 'item':'items'%> left
    </span> 
    <ul id="filters">
        <li> 
            <a class="selected" href="#/">All</a> 
        </li> 
        <li> 
            <a href="#/active">Active</a> 
        </li> 
        <li> 
            <a href="#/completed">Completed</a>
        </li> 
    </ul>
    <% if(completed) {% >
        <button id="clear-completed">Clear completed (<%= completed %>)</button> 
    <% } %> 
</script>

1 个答案:

答案 0 :(得分:5)

模板标记在%>之间有一个空格,导致Underscore无法阻止。这样:

<% if(completed) {% >

应该是这样的:

<% if(completed) { %>

Fiddle