API · Observable
riot.observable(el)
Agrega soporte Observer al objeto el
dado o, si el argumento está en blanco, crea y devuelve una nueva instancia de Observable. Después de esto el objeto es capaz de emitir y escuchar eventos. Por ejemplo:
function Car() {
// Hace observable las instancias de Car
riot.observable(this)
// escucha al evento 'start'
this.on('start', function() {
// motor iniciado
})
}
// crea una nueva instancia de Car
var car = new Car()
// genera el evento 'start'
car.trigger('start')
Devuelve el objeto el
dado o una nueva instancia de Observable
el.on(events, callback)
Escucha los eventos dados por events
(una lista separada por espacios) y ejecuta la función callback
cada vez que un evento es generado.
// escucha un solo evento
el.on('start', function() {
})
// escucha múltiples eventos, el tipo del evento es pasado como parámetro al callback
el.on('start stop', function(type) {
// type es 'start' o 'stop'
})
Devuelve: el
el.one(event, callback)
Escucha al evento event
dado y ejecuta la función callback
una sola vez.
// ejecuta la función una vez, aun si 'start' es emitido múltiples veces
el.one('start', function() {
})
Devuelve: el
el.off(events)
Remueve los eventos dados por la lista separada por espacios.
el.off('start stop')
Devuelve: el
el.off(events, fn)
Remueve la función de retorno dada de la lista de eventos.
function doIt() {
console.log('starting or ending')
}
el.on('start middle end', doIt)
// remueve un escucha específico de los eventos "start" y "end"
el.off('start end', doIt)
Devuelve: el
el.off(‘*’)
Remueve todas las escuchas de todos los tipos de eventos.
Devuelve: el
el.trigger(event)
Ejecuta todas las funciones de retorno que escuchan al evento event
dado.
el.trigger('start')
Devuelve: el
el.trigger(event, arg1 … argN)
Ejecuta todas las funciones de retorno que escuchan al evento event
dado. Se puede proveer cualquier número de parámetros adicionales a los escucha.
// escucha al evento 'start' y espera parámetros adicionales
el.on('start', function(engine_details, is_rainy_day) {
})
// genera un evento "start" con parámetros adicionales
el.trigger('start', { fuel: 89 }, true)
Devuelve: el