API · オブザーバブル
riot.observable(el)
与えられたオブジェクトel
にObserver機能を付加するか、引数をとらない場合は新しいオブザーバブルインスタンスを生成して返します。その後、このオブジェクトはイベントのトリガーおよび監視ができるようになります。例:
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