on
A shorthand method for listening to event.
obj.on( event, handler [, queue] )
Listen to when obj dispatches an event, a onKeyValue
change, or a onValue change in that order.
.on will use the .addEventListener
method on the obj first, before looking for the can.onKeyValue
and then can.onValue symbol.
Parameters
- eventName
{String}: - handler
{function}: - queue
{String}:
Returns
{Any}:
The object on was called on.
Use
on binds event handlers to property changes on an observable type. When you change
a property value, a property name event is fired, allowing other parts
of your application to map the changes to the object.
This event is useful for noticing changes to a specific property. .on works
almost identically with can-define, can-simple-map, and can-observe.
const o = new DefineMap( { name: "Justin" } );
o.on( "name", function( ev, newVal, oldVal ) {
console.log( "The value of a changed." );
} );
The parameters of the event handler for the property name event are:
- ev The event object.
- newVal The value of the property after the change. `
- oldVal The value of the property before the change.
Here is a concrete tour through the property name event handler's arguments:
var o = new DefineMap({a: undefined, b: undefined});
o.on('a', function(ev, newVal, oldVal) {
console.log(newVal + ', ' + oldVal);
});
o.a = 'Alexis'; // Alexis, undefined
o.set('a', 'Adam'); // Adam, Alexis
o.set({
'a': 'Alice', // Alice, Adam
'b': 'Bob'
});
o.a = undefined; // undefined, Alice