Mixins.Observable Class
The Observable utility as a mixin
Item Index
Methods
addObserver
(
This
-
x -
[m = 'update']
Adds a observer object to the observable
Parameters:
-
xObjectThe object to register as observer
-
[m = 'update']Function | String optionalFunction or method to use as handler
Returns:
This:
The observable instance
Example:
import Observable from './mixins/observable';
const logger = {
update(message) {
console.log(message);
}
}
const MyClass = Observable(class {
constructor() {
this.addObserver(logger);
}
});
import Observable from './mixins/observable';
const logger = {
log(message) {
console.log(message);
}
}
const MyClass = Observable(class {
constructor() {
this.addObserver(logger, 'log');
}
});
destroyObservers
()
Undefined
Destroys the observable, unregisters all observers
Returns:
Undefined:
Nothing
Example:
import Observable from './mixins/observable';
const logger = {
update(message) {
console.log(message);
}
}
const MyClass = Observable(class {
constructor() {
this.addObserver(logger);
}
});
let myInstance = new MyClass();
myInstance.notifyObservers('Sending a message');
// logs "Sending a message"
myInstance.destroyObservers();
myInstance.notifyObservers('Sending another message');
// nothing happens
hasObserver
(
Boolean
-
x -
[m = 'update']
Allows to test if a object is registered as a observer
Parameters:
-
xObjectThe object to check against
-
[m = 'update']Function | String optionalThe function or method name to check
Returns:
Boolean:
True if registered, false if not
Example:
import Observable from './mixins/observable';
const logger = {
log(message) {
console.log(message);
}
}
const MyClass = Observable(class {
constructor() {
this.addObserver(logger, 'log');
}
});
let myInstance = new MyClass();
myInstance.hasObserver(logger, 'log');
// -> true
notifyObservers
(
This
-
x -
[m = 'update']
Notifies all registered observers with data
Parameters:
-
xObjectThe object to register as observer
-
[m = 'update']Function | String optionalFunction or method to use as handler
Returns:
This:
The observable instance
Example:
import Observable from './mixins/observable';
const logger = {
update(message) {
console.log(message);
}
}
const MyClass = Observable(class {
constructor() {
this.addObserver(logger);
}
});
let myInstance = new MyClass();
myInstance.notifyObservers('Sending a message');
// logs "Sending a message"
removeObserver
(
This
-
x -
[m = 'update']
Removes an observer object from the observable
Parameters:
-
xObjectThe object to remove
-
[m = 'update']Function | String optionalFunction or method used as handler
Returns:
This:
The observable instance
Example:
import Observable from './mixins/observable';
const logger = {
update(message) {
console.log(message);
}
}
const MyClass = Observable(class {
constructor() {
this.addObserver(logger);
}
});
let myInstance = new MyClass();
myInstance.removeObserver(logger);
