public/js/main-built.js
function(key, fn) {
        var attrs = this,
            $$observers = (attrs.$$observers || (attrs.$$observers = {})),
            listeners = ($$observers[key] || ($$observers[key] = []));

        listeners.push(fn);
        $rootScope.$evalAsync(function() {
          if (!listeners.$$inter) {
            // no one registered attribute interpolation function, so lets call it manually
            fn(attrs[key]);
          }
        });
        return fn;
      }
function(key, fn) {
        var attrs = this,
            $$observers = (attrs.$$observers || (attrs.$$observers = {})),
            listeners = ($$observers[key] || ($$observers[key] = []));

        listeners.push(fn);
        $rootScope.$evalAsync(function() {
          if (!listeners.$$inter) {
            // no one registered attribute interpolation function, so lets call it manually
            fn(attrs[key]);
          }
        });
        return fn;
      }
function ( key , fn ) { var attrs = this , $$observers = ( attrs . $$observers || ( attrs . $$observers = { } ) ) , listeners = ( $$observers [ key ] || ( $$observers [ key ] = [ ] ) ) ; listeners . push ( fn ) ; $rootScope . $evalAsync ( function ( ) { if ( ! listeners . $$inter ) { // no one registered attribute interpolation function, so lets call it manually fn ( attrs [ key ] ) ; } } ) ; return fn ; }
Observe an interpolated attribute.
The observer will never be called, if given attribute is not interpolated.

@param {string} key Normalized key. (ie ngAttribute) .
@param {function(*)} fn Function that will be called whenever the attribute value changes.
@returns {function(*)} the `fn` Function passed in.
Observe an interpolated attribute . The observer will never be called if given attribute is not interpolated .