将数据与主链中的模板元素结合在一起,认为不良实践



在我的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/

最新更新