Anton Shestakov <engored@ya.ru>, Thu, 27 Dec 2012 00:34:49 +0900
Use events to not smear workspaces all over the code.
static/js/framework/views/base.js
Permissions: -rw-r--r--
var CollectionView = Backbone.View.extend({ appendItem: function() {}, updateItem: function() {}, removeItem: function() {}, this.collection.each(this.appendItem, this); bindCollection: function() { .on('add', this.appendItem, this) .on('change', this.updateItem, this) .on('remove', this.removeItem, this) .on('reset', this.repopulate, this); unbindCollection: function() { this.collection.off(null, null, this); compileTemplates: function(templates) { _.each(templates, function(template, name) { this.templates[name] = _.template(template); var CollectionCounterView = CollectionView.extend({ initialize: function(options) { this.$el.html(this.collection.models.length);