0

尝试呈现backbone.js 模板时出现以下错误:

Uncaught SyntaxError: Unexpected token ILLEGAL

从下面的代码,第 2 行,对 html 的调用:

render: function() {
        $(this.el).html(_.template(contactTemplate, {
            model: this.model.toJSON(),
        }));
        return this;
    }

我不明白非法字符是什么或正在发生什么,任何帮助将不胜感激。

编辑:谢谢你的帮助,你是对的,我的模板有问题,原来我有:

<p><a href="#profile/<%=model.accountId%">View</a></p>

代替

<p><a href="#profile/<%=model.accountId%>">View</a></p>

编码的乐趣:)

4

2 回答 2

1

我认为 Backbone 一定让你有点对象字面的疯狂!

render: function() {
        $(this.el).html(_.template(contactTemplate, {
            model: this.model.toJSON(),
        }));
        return this;
    }

仅当您的模板具有指定的字段时(我认为)才有效<%= model.field1 %>。尝试这个:

render: function() {
        $(this.el).html(_.template(contactTemplate, this.model.toJSON()));
        return this;
    }
于 2013-06-04T06:25:13.543 回答
0

当您尝试从模型访问未定义的字段时,您会收到该错误。通过查看您的代码,当您尝试获取 json 值时,您的模板必须如下所示:

<b> the value of field AAA is <%= model.AAA %> </b>

如果你想避免使用模型,只需调用:

 _.template(contactTemplate, this.model.toJSON() )

然后你可以做类似的事情

<b> the value of field AAA is <%= AAA %> </b>
于 2013-06-04T05:18:36.800 回答