This addon is a WIP rethink of ember-diff-attrs which offered a decorator style approach to this problem.
With ember-did-change-attrs
we're going to solve the same problem using mixins instead of functions. The aim is to offer a simpler API which covers attribute change use cases that previously might have been solved using the now deprecated didReceiveAttrs
and didUpdateAttrs
arguments.
This API is still experimental, suggestions for improvements are encouraged and very much appreciated.
ember install ember-did-change-attrs
import DidChangeAttrs from 'ember-did-change-attrs';
export default Ember.Component.extend(DidChangeAttrs, {
didChangeAttrsConfig: {
attrs: ['email']
},
didChangeAttrs(changes) {
this._super(...arguments);
if(changes.email) {
let oldEmail = changes.email.previous,
newEmail = changes.email.current;
// Do stuff
}
}
});