在我的backbone.js应用中,我的视图之一通过模板呈现表。
var myView = Backbone.View.extend({
el: 'table',
render: function() {
this.$el.html(template({ this.model.attributes });
}
});
我需要将一些数据绑定到表行。但是它们是在模板中创建的。可以使用jQuery的.data()
函数将数据绑定到每个元素的视图中可以添加一种方法,还是在骨干圈中被视为不良练习?
编辑:我隐含的问题是,如果答案被认为是不良练习的,是否有一种更骨干的方法。
将被视为代码气味:主链的目标是在JavaScript中管理应用程序状态,而不是在DOM中推动内容。如果您想渲染收集,请查看(例如)http://www.codebeerstartups.com/2012/12/9-collection-views-backbone-backbone-js-js-learning-backbone-backbone-js/#.uuol5k3jjjme
或者,如果您对基于骨干的框架开放,请查看Marionette的复合视图(这是Marionette Collection View,可以显示桌子)。这里有一篇博客文章:http://lostechies.com/derickbailey/2012/04/05/composite-views-views-tree-scruptures-tables-tables-and-more/