Backbone pub-sub 4
unsubscribe
by bighostkim
JavaScript
var CustomerService = function (name) {
this.name = name;
//should use Prototype for this funciton, but this will work.
this.alert = function (msg) {
alert(name + " alerted; " + msg);
};
};
var ControlPanel = function () {
this.events = _.extend({}, Backbone.Events);
};
var Door = function (name) {
this.name = name
this.open = function () {
controlPanel.events.trigger("door:open", name);
}
};
//create objects
var controlPanel = new ControlPanel();
var george = new CustomerService("George");
controlPanel.events.on("door:open", george.alert);
var chris = new CustomerService("Chris");
controlPanel.events.on("door:open", chris.alert);
var frontDoor = new Door("frontDoor");
frontDoor.open();
var sideDoor = new Door("sideDoor");
sideDoor.open();
alert("george unsubscirbe from door:open event");
controlPanel.events.off("door:open", george.alert)
sideDoor.open();