API · オブザーバブル

riot.observable(el)

与えられたオブジェクトelObserver機能を付加するか、引数をとらない場合は新しいオブザーバブルインスタンスを生成して返します。その後、このオブジェクトはイベントのトリガーおよび監視ができるようになります。例:

function Car() {

  // Carインスタンスを監視できるようにする
  riot.observable(this)

  // 'start'イベントの監視を始める
  this.on('start', function() {
    // エンジン、スタート
  })

}

// 新しいCarインスタンスを作る
var car = new Car()

// 'start'イベントをトリガー
car.trigger('start')

@returns 与えられたelオブジェクト、または新しいobservableインスタンス

el.on(events, callback)

指定されたイベントを監視して、イベントがトリガーされるごとにcallbackを実行します。

// ひとつのイベントを監視
el.on('start', function(args) {

})

// すべてのイベントを監視
el.on('*', function(event, param1, param2) {
  // eventはトリガーされたイベントの名前
  // パラメータで何かをする
})

@returns el

el.one(event, callback)

与えられたeventを監視し、callbackを一度だけ実行します。

// 'start'が何回トリガーされても、この関数を一度だけ実行する
el.one('start', function() {

})

@returns el

el.off(events)

指定されたeventのリスナを削除します。

el.off('start')

@returns el

el.off(events, fn)

監視中のeventについて、指定されたコールバックを削除します。

function doIt() {
  console.log('starting or ending')
}

el.on('start', doIt)

// 特定のリスナを削除
el.off('start', doIt)

@returns el

el.off(‘*’)

すべてのイベントのすべてのリスナを削除します。

@returns el

el.off(‘*’, fn)

すべてのイベントで呼ばれた特定のコールバック関数を削除します。

@returns el

el.trigger(event)

eventを監視しているすべてのコールバック関数を実行します。

el.trigger('start')
el.trigger('render')

@returns el

el.trigger(event, arg1 … argN)

指定されたeventを監視しているすべてのコールバック関数を実行します。任意の数の引数をリスナに渡すことができます。

// 'start'イベントを監視して、引数を待ち受ける
el.on('start', function(engine_details, is_rainy_day) {

})

// 引数とともに、'start'イベントをトリガー
el.trigger('start', { fuel: 89 }, true)

@returns el