javascript - (8 超出范围 6)Underscore.js 模板

标签 javascript backbone.js requirejs underscore.js requirejs-text

我正在将 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/

相关文章:

javascript - 两个值不会像预期的那样增加行动

javascript - 如何循环访问这个 JSON 对象?

javascript - 通过查询字符串值渲染 View 的主干

templates - 使用 require.js、主干和下划线本地化模板

javascript - Requirejs 在库中使用错误的资源路径

javascript - SlikGrid 虚拟滚动 - 巨大的数据集

javascript - 无法使用 Strongloop 从 s3 获取特定文件

javascript - RequireJS 随机中断

javascript - Backbone中未知数量和参数属性名称的动态实例化

backbone.js - 使用 require.js 和 jasmine 加载返回 404 的脚本