我正在将 Backbone.js 和 underscore.js 与 Requirejs 一起使用。然而,当我尝试加载 View 模板时,它在 Underscore.js 第 8 行中给出了 (8 out of range 6) 错误。 请告诉我我做错了什么。
这是我的代码:
var imageView = new ImageView({model: item});
define(['jquery','underscore','backbone','imageview','text!../templates/template_image.html'],
function($, _, Backbone, ImageView, template){
var ImageView = Backbone.View.extend({
initialize: function(){
this.showImageTemplate = _.template(template);
},
render: function(){
var html = this.showImageTemplate(this.model);
this.$el.html(html);
return this;
}
});
return ImageView;
});
还有我的模板文件:
<img id="frameImg" src="<%= DocumentPath %>/<%= DocumentName %>" alt="image" title="image"/>
最佳答案
您将原始 Backbone.Model
对象作为数据传递给您的模板,因此您正在使用类似的内容
{
_changing: false,
_pending: false,
_previousAttributes: {}
attributes: {
DocumentPath: "",
DocumentName: ""
}
...
}
您可能只需要属性,可以通过 model.toJSON
获取这些属性例如。尝试:
var html = this.showImageTemplate(this.model.toJSON());
关于javascript - (8 超出范围 6)Underscore.js 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18459997/