Backbone.Eventsのメモ
function greet (){ console.log('I am ' + this.name)} // 発行者を作成 var publisher = _.extend({name: 'publisher'}, Backbone.Events); // 購読者を作成 var observer = _.extend({name: 'observer'}, Backbone.Events); // 発行者にgreetイベントが発生した場合、greetを実行する。 // contextを指定しないとpublisherのcontextで実行される publisher.on('greet', greet); // publisher.trigger('greet') => I am publisher // 第3引数でcontextを指定する publisher.on('greet', greet, observer); // publisher.trigger('greet') => I am observer // listenToのほうが直感的な気がする // publisherにgreetイベントが発生したときに、greet関数を実行する // contextはobserverになる observer.listenTo(publisher, 'greet', greet); // publisher.trigger('greet') => I am observer // _.bindを使えばcontextを変えることもできる observer.listenTo(publisher, 'greet', _.bind(greet, publisher)); // publisher.trigger('greet') => I am publisher