2016-04-27 15 views
0

私はバックボーンを初めて利用しています。私はそれがSaikuで使用されているのを見てきました。私は下の行を見つけました。Backbone.jsとSaikuのトリガーイベント

Saiku.session.trigger('workspace:new', { workspace: this }); 

'workspace:new'はイベントですか?バックボーントリガーはそれをイベントとしてどのように認識しますか?

答えて

1

短い答え:はい、workspace:newはイベントです。

バックボーンには、聴くことができる組み込みのイベントがいくつかあります。しかし、このコードのようにカスタムイベントをトリガーすることもできます。イベントは文字列(この場合は"workspace:new")のみで識別されます。 Backbone's Event Moduleを継承したオブジェクトに対してtriggerを呼び出すと、そのイベントは発生します。 triggerの2番目のパラメータとして、イベントハンドラ関数からアクセス可能なものについて、イベントに関するいくつかのデータを渡すことができます。

通常、他の場所では、そのイベントが発生するのを待つコードがあります。これは、.onまたは.listenToメソッドを呼び出すことによって設定されます。

は、ここで基本的な例を示します(アクションon JSBinでそれを参照してください)解答用

var model = new Backbone.Model(); 

model.on('my-event', function (data) { 
    console.log("my-event happened!"); 
    console.log(data); 
}); 


model.trigger('my-event'); 
model.trigger('my-event', 'some-data'); 
model.trigger('my-event', { anything: 'works' }); 
+0

おかげで、それは参考になりました! – SDJ

関連する問題