Improve this Doc  View Source

$compile.directive.Attributes

  1. - type in module ng

A shared object between directive compile / linking functions which contains normalized DOM element attributes. The values reflect current binding state {{ }}. The normalization is needed since all of these are treated as equivalent in Angular:

<span ng:bind="a" ng-bind="a" data-ng-bind="a" x-ng-bind="a">

Methods

  • $normalize(name);

    Converts an attribute name (e.g. dash/colon/underscore-delimited string, optionally prefixed with x- or data-) to its normalized, camelCase form.

    Also there is special case for Moz prefix starting with upper case letter.

    For further information check out the guide on Matching Directives

    Parameters

    Param Type Details
    name string

    Name to normalize

  • $addClass(classVal);

    Adds the CSS class value specified by the classVal parameter to the element. If animations are enabled then an animation will be triggered for the class addition.

    Parameters

    Param Type Details
    classVal string

    The className value that will be added to the element

  • $removeClass(classVal);

    Removes the CSS class value specified by the classVal parameter from the element. If animations are enabled then an animation will be triggered for the class removal.

    Parameters

    Param Type Details
    classVal string

    The className value that will be removed from the element

  • $updateClass(newClasses, oldClasses);

    Adds and removes the appropriate CSS class values to the element based on the difference between the new and old CSS class values (specified as newClasses and oldClasses).

    Parameters

    Param Type Details
    newClasses string

    The current CSS className value

    oldClasses string

    The former CSS className value

  • $observe(key, fn);

    Observes an interpolated attribute.

    The observer function will be invoked once during the next $digest following compilation. The observer is then invoked whenever the interpolated value changes.

    Parameters

    Param Type Details
    key string

    Normalized key. (ie ngAttribute) .

    fn function(interpolatedValue)

    Function that will be called whenever the interpolated value of the attribute changes. See the Interpolation guide for more info.

    Returns

    function()

    Returns a deregistration function for this observer.

  • $set(name, value);

    Set DOM element attribute value.

    Parameters

    Param Type Details
    name string

    Normalized element attribute name of the property to modify. The name is reverse-translated using the $attr property to the original name.

    value string

    Value to set the attribute to. The value can be an interpolated string.

Properties

  • $attr

    A map of DOM element attribute names to the normalized name. This is needed to do reverse lookup from normalized name back to actual name.