下划线模板错误=未捕获的SyntaxError:意外的令牌ILLEGAL

时间:2012-07-10 05:22:05

标签: javascript backbone.js underscore.js

var metrobusApp = metrobusApp || {Views:{},Models:{},Routes:{},JST:{}};
metrobusApp.JST["/main"] = _.template('
    <label>Introduzca el codigo de la tarjeta</label>
    <input type="text" id="txtCodigo"/>
    <input type="submit" id="btnSubmit"/>
    ');

metrobusApp.JST["/consultar/:id"] = _.template('
    <p>Id: <%tarjeta.get("id")%></p>
    <p>Saldo: <%tarjeta.get("saldo")%></p>
    <p>Estado de Contrato: <%tarjeta.get("estadoContrato")%></p>
    <p>Fecha y Hora: <%tarjeta.get("tiempo").fecha%> <%tarjeta.get("tiempo").hora%></p>
    ');

我正在使用骨干和phonegap做一个应用程序。但首先我要在浏览器中测试它,然后在模板文件中出现此错误: 未捕获的SyntaxError:意外的标记ILLEGAL

我做错了什么?错误出现在第2行。

1 个答案:

答案 0 :(得分:4)

在javascript中,您需要将\放在每行字符串文字的末尾,以防它是多行的

metrobusApp.JST["/main"] = _.template('\
    <label>Introduzca el codigo de la tarjeta</label>\
    <input type="text" id="txtCodigo"/>\
    <input type="submit" id="btnSubmit"/>\
    ');

或者您可以将其拆分为多个连接字符串,如:

'foo' + 
'bar' + 
'baz'