onInstanceBoundChange
Listen to when observables of a type are bound and unbound.
onInstanceBoundChange(Type, handler, [queueName])
Register an event handler on the object Type that fires when instances of the type become bound (the first handler is added)
or unbound (the last remaining handler is removed). The function passed as handler will be called
with the instance as the first argument and true as the second argument when instance gains its first binding,
and called with false when instance loses its
last binding.
Person = DefineMap.extend({ ... });
var person = Person({});
var handler = function(instance, newVal) {
console.log(instance, "bound state is now", newVal);
};
var keyHandler = function() {};
canReflect.onInstanceBoundChange(Person, handler);
canReflect.onKeyValue(obj, "name", keyHandler); // logs person Bound state is now true
canReflect.offKeyValue(obj, "name", keyHandler); // logs person Bound state is now false
Parameters
- Type
{function}:A constructor function
- handler
{function(instance, isBound)}:A function called with the
instancewhose bound status changed and the state of the bound status. - queueName
{String}:the name of a queue in can-queues; dispatches to
handlerwill happen on this queue