在我的Backbone.js应用程序中,我的一个视图通过模板呈现表格。
var myView = Backbone.View.extend({
el: 'table',
render: function() {
this.$el.html(template({ this.model.attributes });
}
});
我需要将一些数据绑定到表行。但它们是在模板中创建的。可以在我的视图中添加一个方法,在那里我使用jQuery的.data()
函数将数据绑定到每个元素,还是在Backbone圈子中被认为是不好的做法?
编辑:我的隐含问题是,如果有更多的Backboneish方法可以做到这一点,如果答案是它被认为是不好的做法。
答案 0 :(得分:0)
这将被视为代码气味:Backbone的目标是在javascript INSTEAD中管理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/