0

在我的 Backbone.js 应用程序中,我的一个视图通过模板呈现表格。

var myView = Backbone.View.extend({
    el: 'table',
    render: function() {
        this.$el.html(template({ this.model.attributes });
    }
});

我需要将一些数据绑定到表行。但它们是在模板中创建的。是否可以向我的视图添加一个方法,在该方法中我使用 jQuery 的函数将数据绑定到每个元素,.data()或者这在 Backbone 圈子中被认为是不好的做法?

编辑:我的隐含问题是,如果答案是它被认为是不好的做法,是否有更骨干的方式来做到这一点。

4

1 回答 1

0

这将被认为是代码异味:Backbone 的目标是在 javascript 中管理应用程序状态,而不是在 DOM 中推挤东西。如果您想呈现一个集合,请查看(例如)http://www.codebeerstartups.com/2012/12/9-collection-views-in-backbone-js-learning-backbone-js/#.Uuol5K3JjmE

或者,如果您对基于 Backbone 的框架持开放态度,请查看 Marionette 的复合视图(这是一个允许您显示表格的 Marionette 集合视图)。这里有一篇博客文章:http: //lostechies.com/derickbailey/2012/04/05/composite-views-tree-structures-tables-and-more/

于 2014-01-30T10:11:10.357 回答