Backbone.js 渲染视图时下划线.JS文件中出现非常奇怪的JS错误

Backbone.js 渲染视图时下划线.JS文件中出现非常奇怪的JS错误,backbone.js,underscore.js,Backbone.js,Underscore.js,我现在有两种观点。一个列出了mongoDb对象的集合,另一个应该允许编辑er。列表视图工作完全正常,但每当我尝试渲染“编辑”视图时,都会出现以下错误: Uncaught SyntaxError: Unexpected identifier 下面是它失败的代码(下划线.js的第1155行): 下面是我的代码,它使上述代码运行: render : function(){ var id = glob;

我现在有两种观点。一个列出了mongoDb对象的集合,另一个应该允许编辑er。列表视图工作完全正常,但每当我尝试渲染“编辑”视图时,都会出现以下错误:

Uncaught SyntaxError: Unexpected identifier
下面是它失败的代码(下划线.js的第1155行):

下面是我的代码,它使上述代码运行:

render : function(){

                        var id = glob;

                        var skill = new SkillModel({_id:id});
                        skill.fetch();

                        console.log("BLAH");
                        var template = _.template($('#editTemplate').html(), {skill: {name:"Test", value:"Value", id:"123"}});

                        this.$el.html(template);

                        return this;
                    }
我发现这一行:

var template = _.template($('#editSkillTemplate').html(), {});
是导致它发生的原因。奇怪的是,我所做的一切都和我的listView渲染函数一样,所以我不知道问题出在哪里。为了以防万一,下面是我的列表视图代码

render : function(){
                var that = this;

                var skillset = new SkillSet();
                skillset.fetch({success: function(model, result){

                var template = _.template($('#skillsTemplate').html(), {items: result });

                that.$el.html(template);

                }}) 

                return this;            

            }
以下是模板:

<script type="text/template" id="editTemplate">
                <section>
                    <form id="editForm">
                        <label for="skillName"><input id="skillName" type="text" value="<%= skill.name %>" />
                        <br />
                        <label for="skillValue"><input id="skillValue" type="text" value="<%= skill.value $>" />
                        <br />
                        <a href="#/save/<%= skill.id %>"><button class="save">Save</button></a>
                        <a href="#/delete/<%= skill.id %>"><button class="delete">Delete</button></a>
                    </form>
                </section>
            </script>



简单的打字错误:

<%= skill.value $>

应该是

<%= skill.value %>


由于这似乎来自
函数
构造函数,因此查看
源代码
(或抛出错误的
e.source
)会更有趣,您需要发布HTML#skillsTemplate标记中的模板语法。这就是语法错误所在,不在javascript中。哦,真的吗??好的,我会发帖的it@PeterLyons好的,我更新了,哈哈,非常感谢。我知道我怎么一点也没看到。有助于有两对眼睛。谢谢你,你不会碰巧知道太多关于在Nodejs和MongoDb后端使用主干网的知识吧?我在执行model.fetch({u id:myid})时遇到问题。我认为这是因为从技术上讲mongodb需要一个BSON对象,而不仅仅是一个stringYes,我知道这些框架。发布另一个问题。Mongo对BSON的使用是完全透明的(一个实现细节)。您可以向它发送JavaScript对象,而不必担心BSON。但是,对于按ID查询,您需要一个真正的ObjectId(“longIDStringhere”)实例,而不是字符串。
<%= skill.value %>