Backbone Marionette ItemView返回html

时间:2015-05-09 23:30:35

标签: javascript jquery html backbone.js marionette

我想渲染木偶ItemView并将结果html()追加到我的div。 我的代码:

 var ProjectItemView = Backbone.Marionette.ItemView.extend({
        template: "#ProjectItem",
        tagName: 'div',
    initialize: function () {
        this.model.on('change', this.life, this);
        this.model.on('change', this.render, this);
    },

    life: function () {
        alert(JSON.stringify(this.model));
    }
});


var tmp = new Project({project_id: 1});
tmp.fetch();

$('#container').append(new ProjectItemView({model: tmp}).$el);
<{1}}中的

警告显示模型权限。这意味着抓取工作正常 问题是 - 如何获取html作为视图的结果。
我也试过life: function;

对不起同性恋者!问题在于我用来填充集合/模型的REST服务。它返回包含一个元素的数组 - 不是直接的普通对象。

2 个答案:

答案 0 :(得分:0)

我认为你的问题只是操作的顺序。试试这个:

$('#container').append((new ProjectItemView({model: tmp})).render().el);

以前的方式,你在构造函数上调用.render()。使用上面的附加括号,在实例上调用.render()

答案 1 :(得分:0)

将元素传递给视图:

new ProjectItemView({model: tmp, el:'#container'}).render();