Class Evented
public
Module:
@ember/object
import Evented from '@ember/object/evented'; |
This mixin allows for Ember objects to subscribe to and emit events.
app/utils/person.js | |
1 2 3 4 5 6 7 8 9 |
import EmberObject from '@ember/object'; import Evented from '@ember/object/evented'; export default EmberObject.extend(Evented, { greet() { // ... this.trigger('greet'); } }); |
1 2 3 4 5 6 7 8 9 |
var person = Person.create(); person.on('greet', function() { console.log('Our person has greeted'); }); person.greet(); // outputs: 'Our person has greeted' |
You can also chain multiple event subscriptions:
1 2 3 4 5 |
person.on('greet', function() { console.log('Our person has greeted'); }).one('greet', function() { console.log('Offer one-time special'); }).off('event', this, forgetThis); |