Backbone plugin to add app-wide pub/sub.
or shortcut sub()
Subscribe to a channel.
Backbone.Mediator.subscribe('view:loaded', this.callback, this);
// or
Backbone.Mediator.sub('view:loaded', this.callback, this);
Subscribe to a channel once.
// Will be called once only
Backbone.Mediator.subscribeOnce('view:loaded', this.callback, this);
or shortcut pub()
Execute all callbacks defined for a channel. Any additional arguments will be transferred to the callback.
Backbone.Mediator.publish('view:loaded', 'myView');
// or
Backbone.Mediator.pub('view:loaded', 'myView');
Add a 'subscriptions' property to your view. The subscriptions property must be an hash as {channel:method}, where method is either a string representing a view method, or a function. The methods will be called with the view context.
var View = Backbone.View.extend({
subscriptions: {
'item:select': 'enable', // calls this.enable
'item:unselect': function(){...}
}
});
The subscriptions are tied with the delegateEvents/undelegateEvents methods. Calling delegateEvents() automatically sets subscriptions and calling undelegateEvents() unsets them.