Skip to content

workmanw/ember-did-change-attrs

Repository files navigation

ember-did-change-attrs Build Status

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.

Installation

ember install ember-did-change-attrs

Usage

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
    }
  }
});