Pocket
LINEで送る

参考:Event Aggregator

var MyApp = new Backbone.Marionette.Application();

// Alert the user on the 'minutePassed' event
MyApp.vent.on("minutePassed", function(someData){
  alert("Received", someData);
});

// This will emit an event with the value of window.someData every minute
window.setInterval(function() {
  MyApp.vent.trigger("minutePassed", window.someData);
}, 1000 * 60);

アプリに、vent.onというのを使って、イベント発生時の挙動を登録する。あとは、登録したイベントを発生させたいところで、vent.triggerする。

他のView間で連携する場合は、Viewのinitialize関数で、下記のようにやる。

initialize: function(){
    _.bindAll(this,  'hoge');
    App.vent.on('HogeHoge', this.hoge);
},

このViewのインスタンスが作成されるときに、initalize関数が呼ばれますが、そのときにHogeHogeというイベントが発生したら、このViewのhogeを実行するよと、登録している。あとは、他のViewで、App.vent.trigger(‘HogeHoge’);とやると、HogeHogeイベントが発火する。

Pocket
LINEで送る

カテゴリー: プログラミング

コメントください

関連記事

プログラミング

cakePHP2 – 多言語化

多言語化します。 cakephpマニュアルのこのページに説明が書いてあ 続きを読む …

プログラミング

Go言語によるビットコインのフルノード実装btcdを調べる(2)

btcdを実行した際のプログラムの流れを最初から確認してみます。 se 続きを読む …

%d人のブロガーが「いいね」をつけました。