Backbone.js 渲染视图时下划线.JS文件中出现非常奇怪的JS错误
我现在有两种观点。一个列出了mongoDb对象的集合,另一个应该允许编辑er。列表视图工作完全正常,但每当我尝试渲染“编辑”视图时,都会出现以下错误: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;
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 %>