我现在有 2 个视图。一个列出了 mongoDb 对象的集合,另一个应该允许编辑 er。列表视图工作得很好,但是每当我尝试渲染编辑视图时,我都会收到这个错误:
Uncaught SyntaxError: Unexpected identifier
这是失败的代码(Underscore.js 的第 1155 行):
try {
render = new Function(settings.variable || 'obj', '_', source);
Uncaught SyntaxError: Unexpected identifier
} catch (e) {
e.source = source;
throw e;
}
这是我的代码,它导致上述代码运行:
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>